回答
它的作用域是一个变量,称为JSON
,然后使用||
运算符的短路属性为空分配一个空对象,除非该变量具有真值。
“truthy” - 大声笑! – BentOnCoding
@Robotsushi - 这就是它所谓的。这些也是错误的。 –
@Robotsushi:这不是官方任期吗? – Ryan
它只是使JSON
一个空的对象。
我认为这是说:如果var'JSON'为null,则创建一个空的javascript obect。
不。它测试它是否为'null'或'undefined'或任何其他falsy值。如果它是分配一个JavaScript对象。这里没有JSON(除了名称变量很少)。 – Quentin
该代码被执行以下操作:
- 声明变量
JSON
(JSON === undefined
) - 分配一个空对象(
{}
)到JSON
如果JSON
是一个虚假的价值。
Falsey值包括:null
,undefined
,""
(空字符串),0
,NaN
,false
。
JSON
已经经由var JSON
被声明,所以被设定为undefined
,这意味着操作的右手侧JSON||...
将执行。换句话说,所有的代码实现的是:
var JSON = {};
- 1. 这段Javascript代码是做什么的?
- 2. 这段JavaScript代码做了什么?
- 3. 这段C++代码在做什么?
- 4. 这段代码在做什么?
- 5. 这段Java代码在做什么?
- 6. 这段代码真的在做什么?
- 7. 在这段代码中做什么[0]?
- 8. 这个javascript代码在做什么?
- 9. 这个javascript代码在做什么?
- 10. 这是什么混淆JavaScript代码段意味着/做什么?
- 11. 这行代码在这段代码中做了什么?
- 12. 修剪在JavaScript?这段代码在做什么?
- 13. 这段代码做了什么?
- 14. 这段代码片断做了什么?
- 15. 这段代码做了什么?
- 16. 这段代码做了什么?
- 17. 这段代码做了什么?
- 18. 这个C++代码段做了什么?
- 19. 这段代码做了什么?
- 20. 这段代码做了什么蛇?
- 21. 这段C代码是做什么的?
- 22. Normalized cut:这段代码做了什么?
- 23. 这段代码做了什么?
- 24. 这段代码做了什么(C)
- 25. 这段代码做了什么?
- 26. 这段代码做了什么? (awk)
- 27. jQuery:这段代码做了什么?
- 28. 这段代码做了什么?
- 29. C++这段代码做了什么?
- 30. 这段代码做了什么?
如果是这样的片段完全相同,那么它是做'VAR JSON = {}的很婉转地;',它会创建一个新的对象,并将其分配给变量'JSON'。 – Ryan