一,数据类型
字符串 。 数值 。布尔。
null 。 undefined 。
对象 ( 数组 。 函数 function(){} 。 object)
undefined 出现的情景 :
(1)变量声明且没有赋值
(2)获取对象中不存在的属性
(3)函数有形参,但调用时没有传值 。 形参的值是undefined
(4)函数内部没有 return 。 或者 return 后没有任何东西 。 调用函数后接收到的值是undefined
null 出现的情景 :
(1)对象不存在
关于 null 的混淆点 :
(1)null 是一个独立的数据类型,为什么检测的数据类型是object : 解析引擎在解析时把 null 归到了 object
(2)为什么解析引擎这样做,不按照标准去执行 : 是因为之前定义的是null是object(历史问题),浏览器向下兼容
——————————————————————————————————————————————————————
二,流程控制
(1)if
(2)else if
(3)for
(4)while
(5)do {} while()
———————————————————————————————————————————————————————
三,数组相关
1,声明方式
(1)直接量声明:var a = [1,2,3]
(2)使用内置构造函数: var a = new Array(); // 函数一经 new => 变成构造函数
2,循环遍历数组
var arr = ['hh','aa','bb'];
(1) for 循环 的 两种
for(i=0;i<arr.length;i++){
console.log(arr[i])
}
for(i in arr){
console.log(arr[i])
}
(2)foreach ,数组的标准库对象提供的方法,接受的参数是一个函数
arr.forEach(function(v,k,h){ // v:值。 k:下标。 h:数组本身
console.log(v)
})