javascript中bind函数的作用实例介绍

前端之家收集整理的这篇文章主要介绍了javascript中bind函数的作用实例介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

<div class="jb51code">
<pre class="brush:xhtml;">
<!DOCTYPE html>

<Meta charset="utf-8">

此时加入bind

代码如下:

此时会发现this改变为text

函数字面量里也适用,目的是保持上下指向(this)不变。

此时点击按钮text里的字会变色。可见this不为button而是obj。

bind()的方法在ie,6,7,8中不适用,需要扩展通过扩展Function prototype可以实现此方法

Function.prototype.bind = function(obj) {
var slice = [].slice,args = slice.call(arguments,1),self = this,nop = function() {
},bound = function() {
return self.apply(this instanceof nop ? this : (obj || {}),args.concat(slice.call(arguments)));
};

nop.prototype = self.prototype;

bound.prototype = new nop();

return bound;
};
}

此时可以看到ie6,8中也支持bind()。

代码如下:

array = Array.prototype.slice.call( array,0 );

将类似数组转换为数组

猜你在找的JavaScript相关文章