摘要: 今天在工作中发现一个诡异的问题,理论上应该是没有元素的数组,长度居然是1。查了半天,原来是Javascript中的split和其他语言中不同,即对空string使用split会返回含有一个空string的数组,而不是一个空数组。 var str = "", arr = str.split("_"); console.log(arr.length === 1); //trueconsole.log(arr === []); //falseconsole.log(arr === [""]); //true参考MDN,也有类似的说明。Not 阅读全文
posted @ 2012-08-02 02:57 BetaRabbit 阅读(856) 评论(0) 推荐(0) 编辑
摘要: 原文链接:http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting 你知道下面的JavaScript代码执行后会alert出什么值吗? 1: var foo = 1; 2: function bar() { 3: if (!foo) { 4: var foo = 10; 5: } 6: alert(foo); 7: } 8: bar();如果答案是"10"令你感到惊讶的话,那么下面这个会让你更加困惑: 1: var a =... 阅读全文
posted @ 2012-01-28 04:29 BetaRabbit 阅读(3042) 评论(8) 推荐(4) 编辑