es5严格模式学习总结

try里面的代码发生错误,不会执行错误后的try里面的代码,接着执行外部的代码;
try里面的代码发生错误,执行catch里面的代码,将错误信息显示

try{
	console.log('a');
	console.log(b);
	console.log(c);
}catch(e){ // error error.message error.name --> error
	console.log(e.name + ':' + e.message);
}
console.log('d');

error.name 六种值对应的信息

EvalError
eval()的使用与定义不一致

RangeError
数值越界

ReferenceError 非法或不能识别的引用数值
没定义就使用

SyntaxError 发生语法解析错误

TypeError
操作类型错误

URIError
URI处理函数使用不当

es5标准模式

基于的es3.0 + es5.0 的新增方法
es3.0 和 es5.0 产生冲突的部分
用严格模式 那么产生冲突的部分就是es5.0

启用严格模式

"use strict";
全局严格模式,写在页面逻辑的最顶端;
局部函数内严格模式,也可以写在函数内部的最顶端(推荐使用)

with可以改变作用域链
可以让它里面的代码的作用域链的最顶端变成括号里面的对象

var obj = {
	name : 'obj';
}
var name = 'window';
function test(){
 var name = 'scope';
 with(obj){
 	console.log(name);
 }
}
test(); // obj

eval() 能改变作用域
能把字符串当成代码执行

严格模式
不能用 with arguments.callee func.caller
变量赋值前必须声明
局部this必须被赋值,赋值是什么就是什么
拒绝重复属性(不报错)和参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值