概念:变量起作用的范围 局部作用域:在函数中作用范围 全局作用域:在整个JS全局起作用
作用域访问规则:逐层向上访问,如果访问一个不存在的变量,就会报错; 赋值规则:优先自己作用域查找,若无则逐层向上查找直到全局,若无,则声明一个全局变量,再赋值
总结:内层可以访问外层变量 外层不能访问内层变量
递归函数:函数自身调用自身,成为递归函数
注意:要有递归结束的条件 ,否则会无限循环,称为死递归
对象: 定义: var obj{ 属性1:属性值1, 属性2:属性值2 }
遍历对象:
for-in循环:
for(var key in obj)
{
console.log('key',key ,'value',obj[key])
}
数组 Array :存储一系列有序数据的集合(也可以称为数组对象)
1.创建数组
var arr=[] //创建数组
var arr=[1,2,'jack',true]
2.访问数组 数组会有默认的索引号从0开始(0,1,2,3,4....) 可以根据索引号访问数组元素:
console.log( arr[0],arr[1]) //访问数组arr里第0个元素
3.数组长度(元素个数) 可以通过length属性拿到数组长度
console.log(arr.length) //打印arr数组的数组长度
4.遍历数组 :for循环
for(var i = 0; i<arr.length; i++){
console.log( arr[i] )
}
5.创建数组方式 构造函数
var arr = new Array()
字面量
var arr = [] //创建空数组
var arr1 = new Array (100,200 ,300,400,500)
for(var i=0;i<arr1.length;i++){
console.log(arr1[i])
} //遍历arr1数组长度
6.