我发现像这样的代码:什么是“this.somevariable”意味着在JavaScript?
Function a(){ this.somevariable = ''; }
和其他一些像这样的代码:
Function a(){ var somevariable = ''; }
它们之间的区别是变量的声明。我需要知道的this
是什么。它与var
不同吗?
我发现像这样的代码:什么是“this.somevariable”意味着在JavaScript?
Function a(){ this.somevariable = ''; }
和其他一些像这样的代码:
Function a(){ var somevariable = ''; }
它们之间的区别是变量的声明。我需要知道的this
是什么。它与var
不同吗?
this
是JavaScript中的关键字。
function test(){
this.x = 10;
}
这种情况下this
代表内部对象,只能在函数中使用。
随着功能不同的场合,this
的值会改变。但是有一个总体原则:this
表示调用函数的对象。
案例1: 纯函数调用:
这是函数的最常见的用途,属于全球呼叫。 所以this
只是全局对象的意思。
如:
function test(){
this.m = 10;
alert(this.m);
}
test(); // there alert 10
为了证明this
是一个全局对象:
var m = 10;
function test(){
alert(this.m);
}
test(); // 10
和:
var m = 10;
function test(){
this.m = 0;
}
test();
alert(m); // 10
案例2: 作为调用该函数的对象。
function test(){
alert(this.m);
}
var obj = {};
obj.m = 10;
obj.n = test;
obj.n(); // 10
案例3:
作为构造
function test(){
this.m = 10;
}
var obj = new test();
alert(obj.m); // 10
为了表明this
是不是在这种情况下,一个全局对象:
var m = 10;
function test(){
this.m = 1;
}
var o = new test();
alert(m); //10
好的谢谢先生@aircraft –
而不是写在JS中的第九百万个“this”的描述,最好将OP指向SO上现有的综合答案,或者是一个权威的网页,比如ashttps:// developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this。你可以在评论中这样做,而不是回答。 – 2017-09-15 04:44:03
如果你想要t o了解更多信息,而不是每次运行下一个小问题时发布到SO,而您经常会得到误导性或不完整的答案,您应该在学习新语言时做计算历史上的其他每个人即阅读文档,简介,教程和博客文章。毕竟,如果你学习意大利语,每次碰到一个你不认识的单词,或者你会学习一本意大利语的教科书,你会在意大利的网站上发帖吗? – 2017-09-15 04:35:40
为了将来的参考,您不需要在您的问题中包括个人详细信息,例如您学习语言的历史或您的个人愿望。它们无关紧要,分散注意力。说实话,没人关心。也没有必要在答案上留下“谢谢”意见。如果答案是有用的,那么请立即投票。 – 2017-09-15 04:37:42