在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。那么我们该如何写一篇较为完美的范文呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。
javascript prototype详解篇一
以前,你可能会直接设置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(){
(this.x);
};
bar(); // undefined
var boundfunc = (foo);
boundfunc(); // 3
是不是很好用呢!不过遗憾的是ie8及以下的ie浏览器并不支持()。支持的浏览器有chrome 7+,firefox 4.0+,ie 9+,opera 11.60+,safari 5.1.4+。虽然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应用到网页中的方法