全局作用域
js有一个默认的全局对象 - window,我们所创建的全局变量就是绑定到window上的
var i = '今天是阳光明媚的一天';
alert(i);
window.alert(window.i);
名字空间
定义一个唯一的全局变量
var a = {};
如果定义其他变量
a.name = '张三';
a.age = 19;
定义其他函数
a.sum = function(){
return 'sum';
}
局部作用域
for 中无法创建局部变量
常量
从程序开始到结束,值都不变
var A = 3.1415926;
ES6中,引入了新的创建常量的方式 - const
const B = 3.1415926;
解构赋值
解构赋值可以同时对一组变量进行赋值
var array = ['小明','小华','小芳'];
按照传统方式
var a = array[0];
var b = array[1];
var c = array[2];
用到解构赋值
var [a,b,c] = ['小明','小华','小芳'];
console.log('a='+a+'b='+b+'c='+c);
我们进行解构赋值的时候,要注意嵌套层次和位置保持完全一致
var array = ['java',['js','jQuery']];
var [x,[y,z]] = ['java',['js','jQuery']];
console.log('x='+x+'y='+y+'z='+z);
如果使用解构赋值只对一个值赋值
var array = ['小明','小华','小芳'];
var [ , ,o] = ['小明','小华','小芳'];
console.log('o='+0);
如果从对象中取出若干属性,可以使用解构赋值
var persion = {
name : '元芳',
age : 20,
sex : '不明',
school : '狄仁杰大学'
};
var {name,age,sex} = persion;
console.log('name='+name+','+'age='+age+','+'sex='+sex);
var {name,address:{city,iphone}} = person;
console.log('name'+name+'city'+city+'iphone'+iphone);