Kai*_* Li 2 javascript algorithm hashtable data-structures
有人能解释这个JavaScript的怪癖吗?
一个例子:
function func(hashTable) {
if (hashTable['foo'])
return true;
}
var hash = {};
hash['foo'] = 0;
func(hash);
Run Code Online (Sandbox Code Playgroud)
我得到undefined而不是true.
那是因为你returned是一个覆盖情况的函数(何时hastTable['foo']为真).
hashTable['foo']是0和if(0)被解释为,false并且您没有为此案例返回值.
在JavaScript中,不仅仅是JavaScript,我们拥有所谓的falsy 价值观.这些分别是:0,null,undefined,false,"",NaN.