javascsript中的call和apply
一直对这两个方法用法存在疑惑,今天来理一理。
以前一直是搞不清谁调用谁,今天在红皮书上看到apply和call方法是函数默认的一个方法,即任何函数都会有的,想想就豁然开朗了。
下面是例子
function add(a,b){ return a+b; } function calldemo(a,b){ return add.call(this,a,b); } console.log(calldemo(10,2));
其实call和apply方法更重要的应用场景是 “扩充函数赖以运行的作用域”
例子在下面
window.num=1; o={ num:4 }; function consoleNum(){ console.log(this.num); } consoleNum(); consoleNum.call(o)