JS(函数)

本文详细介绍了JavaScript中的函数,包括函数的概念、作用、声明方式(如常规声明、函数表达式和函数声明提升)、内部属性(如arguments和this),以及作用域、作用域链和函数调用的不同模式(call、apply、bind)。同时,讨论了this的动态绑定特性以及回调函数的应用。
摘要由CSDN通过智能技术生成

目录

函数的概念

函数的作用

函数的声明

1)常规声明

2)函数表达式

3)函数声明提升

函数的内部属性

1、arguments

1)callee属性

2)length属性

2、this

在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变

作用域

所有未定义(未var)直接赋值的变量自动声明为拥有全局作用域

作用域链

函数调用

1、函数名(实参列表);

2、函数名.call(执行环境对象,实参列表);

        ①修改this的指向 ,改变执行环境上下文,将指向改变到obj

        ②实参列表

3、函数名.apply(执行环境对象,实参列表数组);

        ①修改this的指向 ,改变执行环境上下文,将指向改变到obj

        ②实参数组

4、函数名.bind(执行环境对象)(实参列表);

bind方法返回的只是一个修改过后的函数

5、总结

回调函数


函数的概念

函数允许封装一系列代码来完成特定任务,当想要完成某一任务时,只需要调用相应的代码即可。

方法(method)一般为定义在对象中的函数。

函数的作用

功能的封装,直接调用,代码复用率提高

函数的声明

1)常规声明

function 函数名(形参列表){
            //函数体

            //写在return后面的语句失效
}

2)函数表达式

var 函数名 = function(形参列表){
            //函数体
}

这种形式看起来像常规的变量赋值,先创建一个匿名函数,然后赋值给变量函数名。

在JS中如果要想使用一个变量,必须先给这个变量赋值,所以函数表达式也不例外,在调用之前,必须先给它赋值,否则会报错。

3)函数声明提升

函数声明提升到代码的最前边,可以直接调用函数

函数的内部属性

只有在函数内部才能访问的属性(this也可以在函数外部进行使用)

1、arguments

arguments是一个类数组对象,专门用来保存实际参数列表,包含着传入函数中的所有参数

arguments的属性:

1)callee属性

        该属性是一个指针,指向拥有这个arguments对象的函数,仅当相关函数正在执行时才可以使用,可以用来做一个递归

2)length属性

        指接受形参的个数,与实参的个数没有关系

2、this

面向对象语言中 this 表示当前对象的一个引用。

在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变

        - 在方法中,this 表示该方法所属的对象

        - 如果单独使用,this 表示全局对象。node里是一个{ },浏览器里windows是全局对象    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值