函数定义和调用形式

目录

一、函数定义

代理函数名

 1.函数的name属性

2.arguments对象

3.函数的toString方法

二、函数调用

改变this指向

1.call()方法

2.apply()方法

 3.bind()方法

总结

一、函数定义

var max=new Function("a","b","return a > b ? a : b");

代理函数名

1.函数的name属性

2.arguments对象

fun调用时,是将obj的引用传递过去的比如是#0,执行函数体里的第一句时,b和arguments[1]的引用都是#01,此时这三者指的都是{x:1,y:2},但是执行到b=[1,2,3]这句时,分配了新的空间,arguments[1]在b=[1,2,3]之后就和开始的实参obj没关系了,假如地址是#02,那此时b和arguments[1]的引用都是#02,都指向[1,2,3],而obj引用还是#01,指向{x:1,y:2},也就是说b的指向和obj的指向不同了

arguments的双向绑定特性:向函数传递参数时,arguments数组中的对应单元会和命名参数建立关联以得到相同的值。相反,不传递参数就不会建立关联

 arguments的length属性

3.函数的toString方法

当函数和Number/String/Boolean类型的数据结合计算时,函数首先调用自身的toString()方法,将函数转为字符串类型,之后与Number/String/Boolean类型的数据进行运算

 

二、函数调用

this关键字:指向调用时所在函数所绑定的对象

改变this指向

1.call()方法

2.apply()方法

apply()方法和call()方法唯一的不同就是apply是以数组的形式传递参数的

3.bind()方法

 

 

 在修改回调函数的this指向时使用bind()进行绑定,而不使用call()/apply(),因为回调函数是自己执行的,不需要手动调用

 


总结

以上是我个人总结的内容,如有不正确的地方,还望指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值