首页 > 代码库 > 2.2、js基础---预解析和严格模式
2.2、js基础---预解析和严格模式
一、语言特性
1、预解析:js会把变量的声明(仅仅是声明)提到顶部,但是不会突破作用域。
alert(a);var a= 12; //结果,undefined
2、页面无论多长都会进行预解析。
3、js语言执行步骤:
读取一个script标签=>预解析=>执行里面代码=>读取下一个script=>预解析=>执行代码
4、函数也有预解析,但是要注意:当以变量的形式声明的函数,预解析会按照变量的特性走,否则不按照。
a();//报错了。
var a=function(){
alert(1);
}
二、严格模式:
代码前边加‘use strict’【好处】,有作用域,高级浏览器兼容,ie9-不兼容。
好处: 1. 解决了局部函数中this是 window的bug;
2. 解决了不加val 声明变量的bug
3.避免在if switch,for while for in 里面定义函数。
4.with(元素.style){//严格模式下删除了with.
}
严格模式是有作用域的,
1、函数 在函数里面写就是只限于函数。
2、script标签
使用严格模式,‘use strict‘前边不能有代码
2.2、js基础---预解析和严格模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。