概述
需要理解变量提升、全局变量、局部变量、命名空间、局部作用域、解构赋值。
JS var 声明的变量都是作用于函数体内,全局变量其实就是全局对象window的一个属性。
JS 会对变量进行变量提升,即把变量的声明提升到函数体的顶部,但是变量的赋值没有提升。
var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问,即整个函数体内都可以访问
let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。局部作用域。
const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改。
不同js库的全局函数可能存在命名空间冲突,因为全局变量都会绑定到window上面。
不同库的解决方法是定义自己的全局变量myapp,所声明的所有变量都成为全局变量的一个属性。
// 唯一的全局变量MYAPP:
var MYAPP = {};
// 其他变量:
MYAPP.name = 'myapp';
MYAPP.version = 1.0;
// 其他函数:
MYAPP.foo = function () {
return 'foo';
};
解构赋值:
// 如果浏览器支持解构赋值就不会报错:
var [x, y, z] = ['hello', 'JavaScript', 'ES6'];
let [x, [y, z]] = ['hello', ['JavaScript', 'ES6']];
var person = {
name: '小明',
age: 20,
gender: 'male',
passport: 'G-12345678',
school: 'No.4 middle school'
};
var {name, age, passport} = person;
最后
以上就是阔达小天鹅为你收集整理的var let const 三者的区别的全部内容,希望文章能够帮你解决var let const 三者的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复