为什么以下工作?
<something>.stop().animate(
{ 'top' : 10 }, 10
);
Run Code Online (Sandbox Code Playgroud)
虽然这不起作用:
var thetop = 'top';
<something>.stop().animate(
{ thetop : 10 }, 10
);
Run Code Online (Sandbox Code Playgroud)
为了使它更清晰:目前我无法将CSS属性作为变量传递给animate函数.
你能告诉我这种特定语法结构的原因吗?
eval('(' + jsonString+ ')')
Run Code Online (Sandbox Code Playgroud)
解析json文本时.克罗克福德说:" 文本必须用parens包装,以避免绊倒JavaScript语法中的歧义." 在这里.那是什么意思?
我们能避免吗?
在Firefox 3.5中,我在Firebug控制台中输入:
false=={} // => evals to false
{}==false // syntax error
Run Code Online (Sandbox Code Playgroud)
对此有何解释?
在(至少)Firefox Web Console和JSBin中,我得到了
> {} + []
0
> a = {} + []
"[object Object]"
Run Code Online (Sandbox Code Playgroud)
Node.js "[object Object]"在两种情况下都返回.根据规范,哪种行为是正确的?如果是第一个,为什么?
有人可以向我解释一下,在javascript中,返回结果的结果会有所不同:
› {} + []
» 0
› [] + {}
» "[object Object]"
Run Code Online (Sandbox Code Playgroud) 我为什么Chrome和Firefox中的控制台评估当前的1:
> {a:1}
1
Run Code Online (Sandbox Code Playgroud)
我猜它会被评估为一个对象,就像你将它分配给一个变量:
> var a = {a:1}
undefined
> a
Object {a: 1}
Run Code Online (Sandbox Code Playgroud)
并使用引号会引发语法错误:
> {"a":1}
SyntaxError: Unexpected token :
Run Code Online (Sandbox Code Playgroud) javascript ×6
syntax-error ×2
console ×1
equality ×1
eval ×1
jquery ×1
json ×1
properties ×1
variables ×1