code1
var fruit = ['cherries', 'apples', 'bananas'];
fruit.sort();
运行后输出结果是
var fruit = ['cherries', 'apples', 'bananas']; fruit.sort();
["apples", "bananas", "cherries"]
code2
var fruit = ['cherries', 'apples', 'bananas'];
fruit.sort();
console.log(fruit);
运行后输出结果还是
var fruit = ['cherries', 'apples', 'bananas']; fruit.sort();
["apples", "bananas", "cherries"]
为何不是
var fruit = ['cherries', 'apples', 'bananas']; fruit.sort();
["apples", "bananas", "cherries"]
["apples", "bananas", "cherries"]
你第一次的代码为
然后输出了
["apples", "bananas", "cherries"]
你可能会认为sort内部会有输出语句,然而不是这样,将一段代码贴在chrome的控制台运行时,他默认会输入整个表达式的返回值,而这里的返回值即为
["apples", "bananas", "cherries"]
。而你下面的那段代码,console.log(fruit)的返回值为undefined。所以只输出了一次,那一次为console.log的作用,而不是sort的内部有输出语句。在运行之后,你应该还能看到一个<符号,旁边是undefined。