var Shape = function(width, height) {
var self = this;
self.area = function() {
return width * height;
}
return self;
};
var shape = Shape(20, 30);
area;
为什么这里area变成了全局的?
var Shape = function(width, height) {
var self = this;
self.area = function() {
return width * height;
}
return self;
};
var shape = Shape(20, 30);
area;
为什么这里area变成了全局的?
直接调用function的话this指向window,假设你的函数当做构造函数使用,例如:var shape = new Shape();那这时候你调用shape()这个this是指向你生成的实例shape的,这时候就不会指向window
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.1k 阅读
Shape(20,30)===>window.Shape(20,30)
this此时为window
对应的window.area = function(){}