循环while(条件){干啥事}for(var i=0;i<5;i++){干啥事}()里是 声明赋初始值;循环条件;循环变化趋势需要反复做一件事,优先考虑循环原始数据 数据存在变量本地(栈)引用数据类型: 不存在变量本地,存在"堆"中栈和堆 就是内存中的两种存储空间,堆大1.数组array 相当于多个变量的集合 没有数据类型的限制var arr=["张三","李四",20]; arr[0]="mary"; (改数据)var box=arr[0]console.log(arr[1])var b=arr; b[0]=9;console.log(arr) 此时数据被改变,因为数据复制为浅复制,相当于复制了一把钥匙可打开这堆数据,但不复制数据,所以她改变的就是这堆数据null:用来主动释放对象的全局作用域里全局变量不销毁,一直存在,耗内存。局部变量,用完即销毁,不占内存。所以,数组用完后 arr=null; 强行把指针消除,不是直接消除数据,程序发现数据无用自动清走。null 其实是空对象指针 为解决占内存的问题var week=["一","二","三","四","五","六","日"];for (var i=0;i<7;i++){ week[i]="星期"+week[i]} console.log(week)console.log(week.length)可以返回数组有多少项用while也可以写