var tools = {};
tools.triangle = function() {
var originX = 0;
var originY = 0;
}
var tools = {};
tools.triangle = function() {
this.originX = 0;
this.originY = 0;
}
这两个代码块之间有什么区别吗?抱歉,如果之前有人问过这个问题。
var
在其中创建一个局部变量tools.triangle
。变量originX
and originY
无法与外部进行交互tools.triangle
. this
是指向您正在处理的当前对象的指针。第二个示例可用于通过执行以下操作向对象赋予属性new tools.triangle();
。如果你不使用new
只需使用tools.triangle();
, this
将指向全局对象window
目的。您可以将对象更改为this
使用函数方法点call(); and apply();像这样:
var myObj = {};
tools.triangle.call( myObj );
// "this" in tools.triangle now points to myObj
// myObj now has the properties originX and originY
重要的是要知道this
可以引用任何对象,也可以是未定义的或null
在 ES5 严格模式下。
您可以找到更多信息here.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)