今天学习了JavaScript变量提升和严格模式的相关内容,总结一下。
一、变量提升
在JavaScript中,变量/函数的声明可以在变量/函数赋值的后面,换过来说,
就是变量/函数可以先赋值后声明,这样书写的代码,与正常顺序的代码
效果相同。
例:
var x = 5;
document.write(x);
————————
x =5;
document.write(x);
var x = 5;
var x =5;
function myFunction() {
document.write(x)
}
myFunction();
——————————
var x = 5;
myFunction();
function myFunction() {
document.write(x);
}
两种形式得到的结果是一样的,不会报错。
所谓的提升,就是JavaScript在执行前会先将函数和变量的声明自动提前到代码
前面。
ps:函数的提升优先级高于变量的提升,即提升过的函数声明会在变量声明的前面。
二、JavaScript严格模式
使用"user strict",该指令在JavaScritp 1.8.5中新增(ECMAScript5),它不是一条语句,
而是一个字面量表达式,在老版的JavaScritp会被忽略掉。
"user strict"目的是为了指定代码在严格的条件下执行。
严格的条件下你不能使用未声明的变量。
使用方法,在脚本或函数的头部添加 "user strict"; ,
在此模式下,不允许使用未声明的变量,不允许删除变量或对象,
不允许删除函数,不允许变量重名,不允许使用八进制,
不允许使用转义字符,不允许给只读属性的变量赋值等等。
加油加油!!!
JavaScript之变量提升、严格模式
最新推荐文章于 2023-09-02 00:29:15 发布