1.用sort和一个函数来实现对数组的排序(从小到大)
直接分析答案(重点是sort())
function numberSort(a,b)
{
return a - b;
}
var arr=new Array("23","6","12","35","76");
document.write(arr.sort(numberSort));
①当sort()的方法参数为空时,元素按照转换为的字符串的诸个字符的 Unicode 位点进行排序
②有方法参数,只需要记得 升序排序 return a - b; 降序排序 return b - a
③return a 和 b的减法运算是什么原理?
- a - b < 0,那么 a 会被排列到 b 之前
- a - b = 0,a 和 b 的相对位置不变
- a - b > 0,那么 b 排列到 a 之前
注意!!!sort()方法是会改变数组原结构的,在其他题里会有涉及
2.下面哪些关于块内声明函数的用法是正确的?
正确答案:
if (x) { var foo = function() {}}
记住一句话:如果确实需要在块中定义函数,要用函数表达式来声明函数
/* 这是正确的 */
if (x) {
var foo = function() {};
}
/* 这是错误的 */
if (x) {
function foo() {};
}
3.以下语句输出的结果是什么?
console.log(undefined + 1)
踩坑点:选的是undefined或1
知识点:undefined和数字1计算时,先调用隐式转换,把undefined转化为数字类型
第一个重点在这,undefined转化为Number类型,结果是NaN(Not-a-Number)
第二个重点,NaN和任何数字进行加法计算,结果都是NaN
所以正确答案是:NaN