[1]alert() e.g. alert([1,2,3]);//'1,2,3' e.g. alert(1,2,3);//1 以上输出: 为什么会这样?不应该都是: 经过一番研究发现是chrome实现的问题,对输出做了不太合适的优化,把console.log的实际执行推迟,相当于“惰性”求值,遇上数组、对象这样的引用类型就出上面的问题了。 https://bugs.webkit.org/show_bug.cgi?id=35801 这是一个很有历史的 BUG,上个月在开发版已经修复了。score = [1,2,3];sortedScore = [];console.log(score);sortedScore = score.sort(sortNumber)console.log(sortedScore);function sortNumber(a, b) { return b - a;}
score = [1,2,3];sortedScore = [];alert(score);sortedScore = score.sort(sortNumber)alert(sortedScore);function sortNumber(a, b) { return b - a;}
1, 2, 3
3, 2, 1
1, 2, 3
3, 2, 1
吗?
零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。