JavaScript分配自变量
这是如何工作的:
function Test() {
this.t=function() {
var self=this;
self.tutu = 15;
console.log(self);
}
}
var olivier = new Test();
这工作:
function Test() {
this.t=function() {
var self = this,
other = -1;
self.tutu = 15;
console.log(self);
}
}
var olivier = new Test();
并且这不起作用(出现SyntaxError: Unexpected token .
错误):
function Test() {
this.t=function() {
var self = this,
other = -1,
self.tutu = 15;
console.log(self);
}
}
var olivier = new Test();
var
语句用于声明变量。 所以,你试图定义一个名字为self.tutu
的变量,这个变量在JavaScript中是无效的,因为变量名不应该有.
在他们的名字。 这就是它出现语法错误的原因。
SyntaxError: Unexpected token .
从MDN中的变量部分引用,
JavaScript标识符必须以字母,下划线(_)或美元符号($)开头; 后续字符也可以是数字(0-9)。 由于JavaScript区分大小写,所以字母包括字符“A”到“Z”(大写)以及字符“a”到“z”(小写)。
从JavaScript 1.5开始,您可以在标识符中使用ISO 8859-1或Unicode字母,如å和ü。 您还可以使用 uXXXX Unicode转义序列作为标识符中的字符。
var
只能用于声明变量,但不能用于表达式之前。
var self.tutu = 15;
无效。
非常相似:使用JavaScript进行多个左手任务
根据这个答案,你实际上是这样做的: var self = (window.other = (self.tutu = 15))
,这当然会给SyntaxError,因为你试图在self
存在之前分配self.tutu
。
我不确定有什么办法可以这样做并行分配,但是当然
var self = this;
var other = -1;
self.tutu = 15;
将正常工作。
链接地址: http://www.djcxy.com/p/69987.html