枯燥的js try...catch与es5

try{
	console.log('a');
	console.log(b);
	console.log('c');
}catch(e){
	//这个部分赋值捕捉到错误信息
	console.log(e.name+" : "+e.message);
}
console.log('d');

try里面会自动忽略错误执行。结果为a c d。

Error.name的六种值对应的信息:
1.EvalError:eval的使用与定义不一致
2.RangeError:数值越界
3。ReferenceError:非法或不能识别的引用数值(未经声明调用等)
4.SyntaxError:发生语法解析错误(中文字符等)
5.TypeError:操作数类型错误
6.URIError:URI处理函数使用不当(地址发生错误等)

ES5严格模式

es3.0和es5.0产生冲突的部分用es3.0否则就用es3.0

"use strict";(写在最顶端)
采用字符串,不会对不兼容严格模式的浏览器产生影响

两种用法:

1.全局严格模式
2.局部函数内严格模式(推荐 也是在逻辑第一行写)

不支持

with

改变作用域链,将括号中的对象作为执行期最顶端。下列执行结果为obj。

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

arguments.callee与func.caller不被允许

变量赋值前必须声明

局部this必须被赋值即this不指向widow:

(Person.call(null/undefined)赋值什么就是什么)

拒绝重复属性和参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值