实用javascript prototype详解精编

网友 分享 时间:

【导读预览】此篇优秀范文“实用javascript prototype详解精编”由阿拉题库网友为您整理分享,以供您参考学习之用,希望此篇资料对您有所帮助,喜欢就复制下载支持吧!

javascript prototype详解篇1

以前,你可能会直接设置self=this或者that=this等等,这样做当然也能起作用,()会更好,看上去也更专业。

下面举个简单的例子:

复制代码 代码如下:

var myobj = {

specialfunction: function () {

},

anotherspecialfunction: function () {

},

getasyncdata: function (cb) {

cb();

},

render: function () {

var that = this;

ncdata(function () {

lfunction();

rspecialfunction();

});

}

};

();

在这个例子中,为了保持myobj上下文,设置了一个变量that=this,这样是可行的,()看着更整洁:

复制代码 代码如下:

render: function () {

ncdata(function () {

lfunction();

rspecialfunction();

}.bind(this));

}

()时,它会简单的创建一个新的函数,然后把this传给这个函数。()的代码大概是这样的:

复制代码 代码如下: = function (scope) {

var fn = this;

return function () {

return (scope);

};

}

()的.例子:

复制代码 代码如下:

var foo = {

x: 3

};

var bar = function(){

();

};

bar(); // undefined

var boundfunc = (foo);

boundfunc(); // 3

是不是很好用呢!不过遗憾的是ie8及以下的ie浏览器并不支持()。支持的浏览器有chrome 7+,firefox +,ie 9+,opera +,safari +。虽然ie 8/7/6等浏览器不支持,但是mozilla开发组为老版本的ie浏览器写了一个功能类似的函数,代码如下:

复制代码 代码如下:

if (!) {

= function (othis) {

if (typeof this !== "function") {

// closest thing possible to the ecmascript 5 internal iscallable function

throw new typeerror(" - what is trying to be bound is not callable");

}

var aargs = (arguments, 1),

ftobind = this,

fnop = function () {},

fbound = function () {

return (this instanceof fnop && othis

? this

: othis,

((arguments)));

};

ype = ype;

ype = new fnop();

return fbound;

};

}

s("content_relate");

()方法介绍相关文章:

1.

javascript中的dom方法

2.

javascript tofixed方法介绍

3.

获取javascript中的方法

4.

关于javascript中的包装对象介绍

5.

javascript数组常用方法介绍

6.

详解javascript中的splice()使用方法

7.

关于异步javascript编程中的promise使用方法

8.

javascript应用到网页中的方法

48 1416572
");