JavaScript 函数中 var 和 this 的区别?

2023-12-14

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(使用前将#替换为@)

JavaScript 函数中 var 和 this 的区别? 的相关文章

随机推荐