廊坊网站排名优化报价,电商产品开发流程,巩义企业网站托管服务商,厦门建网站哪家好声明常量 const 声明常量时#xff0c;必须赋值#xff01;声明的常量赋值后#xff0c;不能修改#xff08;运行时会报错#xff09;ES6 新增语法有块级作用域
const webName EC编程俱乐部常量不可变的本质
常量赋值值类型数据后#xff0c;不能再赋其他值#xff0… 声明常量 const 声明常量时必须赋值声明的常量赋值后不能修改运行时会报错ES6 新增语法有块级作用域
const webName EC编程俱乐部常量不可变的本质
常量赋值值类型数据后不能再赋其他值但若其初始值是一个对象可以修改对象的属性但不能赋值为其他对象若其初始值是一个数组可以添加和修改数组中的元素但不能赋值为其他数组所以真正不可变的是常量中存储的地址 声明变量 let var let a 1;
var b 2;let 为 ES6 新增语法有块级作用域var 为 ES5 的语法会导致变量提升已不推荐使用声明变量时可以只声明不赋值此时变量的值为 undefined 未定义变量必须先声明后使用否则会报错——变量未定义。同一作用域中变量名称不能相同。
全局变量
在全局作用域{} 和函数外中声明的变量即全局变量尽量减少全局变量的数量以避免命名冲突。
在浏览器中
var 声明的全局变量都是 window 的属性var 声明的全局变量还能用 this 访问如 this.a
变量的命名规则
字母、下划线或$开头不能是关键字区分大小写长度不能超过255个字符汉语可以作为变量名。但是不建议使用因为 low。
JavaScript 中的关键字不用记
abstract else instanceof switch boolean enum int synchronized break export interface this byte extends long throw case FALSE native throws catch final new transient char finally null TRUE class float package try const for private typeof continue function protected var debugger goto public void default if return volatile delete implements short while do import static with double in super
判断变量是否存在
实际上是在用 typeof 测试一个变量是否已经被初始化或者说测试变量值是否为 undefined 。
if (typeof somevar undefined) {console.log(不存在变量somevar);
}else{console.log(存在变量somevar);
}【面试题】什么是变量提升
在执行 js 代码时会先将所有 var 定义的变量赋值为 undefined相当于提升到代码最前面执行 即便在使用 var 定义的变量之前并未定义变量也不会报错
console.log(a); // 打印 undefined
var a 1;自测题 – 变量提升
// 声明全局变量 a,并赋值 123
var a 123;function f() {// 因 var 变量提升的特性此时打印的 a 是函数作用域内的局部变量 a console.log(a); //打印结果undefined// 函数作用域内声明局部变量 a 虽和全局变量 a 的名称相同但却是不同的变量,并赋值 1var a 1;// 打印函数作用域内的局部变量 aconsole.log(a); //打印结果1
}f();// 打印全局变量 a
console.log(a); //打印结果123【面试题】var 和 let const 的区别 var 是 ES5 语法会导致变量提升let 和 const 是 ES6 语法var 和 let 用于声明变量可修改; const 用于声明常量不可修改;let 和 const 有块级作用域var 没有