call()、apply()、bind()
1、首先 每个Function对象里面都存在call()和apply()方法,及在函数的原型里面 2、语法是 ? function.call(thisObj,a,c) 3、共同点 都是 用来代替另一个对象调用一个方法,将一个函数的对象上下文重新改变为thisObj指定的新对象 4、不同点 apply()接受两个参数,将参数放进数组里面 call()接受多个参数,参数为一串列表 5、例子 function add(a,b){ return a+b; var a1 = add.apply(sub,[4,2]) var a2 = sub.apply(add,2]) var a3 = add.call(sub,4,2) console.log(a1,a2,a3) 6、实现继承 function Animal(name){ function Cat(name){ var cat = new Cat("咕咕"); /*call的用法*/Animal.call(this,name); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |