你的位置:首页 > Java教程

[Java教程]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)