04_javascript函数

本文深入解析函数的概念,探讨其在代码复用与阅读性提升方面的作用,并详细讲解函数的定义、调用方式及回调函数的应用场景,如DOM事件、定时器与AJAX回调等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是函数?

具有特定功能的n条语句的封装体
只有函数是可执行的, 其它类型的数据是不可执行的
函数也是对象

为什么要用函数?

提高代码复用
便于阅读和交流

如何定义函数?

 函数声明
 表达式

如何调用(执行)函数?

    test()
    new test()
    obj.test()
    test.call/apply(obj)

回调函数

什么函数才是回调函数?
你定义的
你没有直接调用
但最终它执行了(在特定条件或时刻)
常见的回调函数?
DOM事件函数
定时器函数
ajax回调函数
生命周期回调函数

IIFE

理解
全称: Immediately-Invoked Function Expression 
立即调用函数表达式别名: 匿名函数自调用
作用
 * 隐藏内部实现
 * 不污染外部命名空间

函数中的this

1. 以函数的形式调用时,this永远都是window
2. 以方法的形式调用时,this就是调用方法的那个对象
3. 当以构造函数的形式调用时,this就是新创建的那个对象
4. 使用call和apply调用时,this是指定的那个对象
理解1
function Person(color) {
    // console.log(this)  
    this.color = color;
    this.getColor = function () {
        // console.log(this)
        return this.color;
    };
    this.setColor = function (color) {
        // console.log(this)
        this.color = color;
    };
}

// 以函数的形式调用时,this永远都是window 
Person("red"); //this是谁? window
 
var p = new Person("yello"); //this是谁? 
// 当以构造函数的形式调用时,this就是新创建的那个对象
p.getColor(); //this是谁? p
 
var obj = {};
// 使用call和apply调用时,this是指定的那个对象
p.setColor.call(obj, "black"); //this是谁? obj

// 以方法的形式调用时,this就是调用方法的那个对象 
var test = p.setColor;
test(); //this是谁? window
理解2
function fun1() {
  function fun2() {
    console.log(this);
  }
 
  fun2(); //this是谁? window
}
fun1();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值