在Javascript中,这种
方法往往涉及语境,就是这个,所以不能直接引用,其中最常见的console.log(信息…)例如,避免写冗长的
控制台直接与日志(信息…而不是,下面的语法将想到的。
var日志= console.log;
日志(……);
运行错误的
报告,遗憾的是:非法调用列表。
为什么对于console.log(信息…),调用控制台对象的测井方法,所以日志的方法在这安慰的对象;我们使用对数变量指向console.log方法,然后调用日志的方法,对这一点的测井方法的窗口对象,上下文不一致的,肯定是错的。
在这一点上,我们可以使用绑定方法来
解决这个问题。绑定方法允许手动访问这个,作为当前方法的上下文,然后返回持有上下文的方法,例如:
var日志= console.log.bind(控制台);
日志(……);
这不会错的。
但是,绑定方法不
支持IE 8和
浏览器的较低版本,我们可以完全实现IE浏览器,非常简单。
function.prototype.bind = function.prototype.bind
功能(上下文){ | |
无功_this =这;
返回
函数(){
_this.apply(上下文
参数);
};
};
核心通过应用方法,经典的应用
关闭。_this指向当前方法和语境指向当前方法的
背景下,和所有的两个通过关闭访问。
以上是本文的全部内容,希望大家能喜欢。