[英]Why are global and this.something variables not decleared?
当我使用一个新变量something.something或this.something时,我的代码在省略var关键字时起作用:
this.something = 1;
something.something = 1;
但是当我写作
var this.something = 1;
var something.something = 1;
它不起作用。
为什么?
我想因为var
需要一个有效的标识符,并且.
不是标识符的有效字符。
它认为您希望变量名实际上是this.something
,这是无效的。
在测试这两个版本时,我会遇到稍微不同的错误。
有这个this.something
告诉我:
SyntaxError:意外的令牌
带有something.something
那个something.something
告诉我:
SyntaxError:意外的令牌。
同样的错误,但第一个中的无效令牌是关键字this
。
您不能声明this
字段(成员字段)或另一个对象的字段。 这根本就不是有效的语法。
您可以使用var
来声明局部变量,这些变量可以是函数级的,也可以是(如果您不在函数中)全局变量。 正如帕特里克所说,变量名称不能包含句点。
var
是声明变量的语法。 在Javascript中,只需为属性赋值,它就会将属性附加到对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.