如果我做
x = document.getElementsByClassName("something")[0]
我得到了预期的结果。
但如果我这样做
var x = document.getElementsByClassName("something")[0]
要么
let x = document.getElementsByClassName("something")[0]
我得到未定义。
这是为什么?
声明一个变量不会返回任何东西(即undefined
),但是分配一个变量会返回值。例如:
let x, y
x = y = 7 // this sets both x & y to seven
上面的行有效,因为y = 7
返回的值y
然后分配给x
. 但是你不能用变量声明做任何事情:
let x = 7
x = let y = 3 // syntax error
关键是声明一个变量不会返回一个值,这就是为什么你undefined
在控制台(也在节点 REPL 中)看到它之后,但赋值或其他返回值的值将显示该值。
请注意,您可以这样做:
var x = document.getElementsByClassName("something")[0]
x // this line will return the value of x
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句