程序员

一天一个小问题

2018-05-30  本文已影响17人  晴天u
  1. 为什么数组、空字符串可以转为0,而空对象不可以?
var str = ''
var arr = []
var obj = {}

console.log(str == 0) // true
console.log(arr == 0) // true
console.log(obj == 0) // false
  1. 这段代码为什么不会报错捏。
var x = 2
var b = () => {a: 1}
console.log(b()) // undefined

阮一峰在他的es6 函数扩展那一章说:

原始意图是返回一个对象{ a: 1 },但是由于引擎认为大括号是代码块,所以执行了一行语句a: 1。这时,a可以被解释为语句的标签,因此实际执行的语句是1;,然后函数就结束了,没有返回值

所以冒号:是被人抛弃了吗?

  1. 查东东的时候,莫名其妙看到这个问题:如果让 (aᅠ== 1 && a == 2 &&ᅠa == 3) 返回true
上一篇下一篇

猜你喜欢

热点阅读