标签:bind erro 方法 ted nts cal fun AC 通过
函数也是对象,拥有属性和方法,就类似普通对象那样。
1,length属性
arguments.lenght 表示传入实参的个数。
函数的length属性时只读属性,代表形参的个数。可以用arguments.callee.length表示:
function check(args){ var actual = args.length; var expected = args.callee.length; if(actual != expected){ throw Error(`Expected ${expected} ,args got ${actual}`) } } function f(x,y,z){ check(arguments); return x+y+z; } f(1,2)
2.call()和apply()方法
可以将call()和apply()看做是某个对象的方法,里面的第一个实参是要调用函数的母对象,即上下文,在函数体内是通过this来获得对它的引用。例如:
f.call(o)
f.apply(o)
对象o来调用函数f();
f.call(o,1,2)
f.apply(o,[1,2])
call和apply类似的功能,唯一不同就是传入实参的形式,call是单个传,apply是以数组的形式传入。
3,bind()方法
标签:bind erro 方法 ted nts cal fun AC 通过
原文地址:https://www.cnblogs.com/tangjiao/p/8984675.html