try.catch es5标准模式

@[try.catch es5标准模式](try.catch es5标准模式)

一、try.catch

在try里面的发生错误,不会执行错误后语句后try里面的所有代码,但是不影响后续代码。错误信息会传到catch的e,供catch使用。无错误的话 ,不会跳到catch里面,依次执行try。

try {
	console.log('a');
	console.log(b);
	console.log('c');//不会执行
	}catch(e){
		console.log(e.name  +":"+e.message);
	}
	console.log('d');
	//a 
	// ReferenceError: b is not defined
	//d

二、Error.name的六种值对应的信息

1.EvalError: eval()的使用与定义不一致
eval只支持系统调用,自己不能使用,否则会报错
2.RangError:数值越界
RangeError对象标明一个错误,当一个值不在其所允许的范围或者集合中。

不常见
3.ReferenceError:非法或不能识别的引用数值
console.log(b)
//ReferenceError: b is not defined,为定义就使用

b()
//ReferenceError: b is not defined,为声明就使用
4.SyntaError:发生语句解析错误
//(低级错误)
function demo(){}
 //函数内放的是中文逗号,预编译时期就会报错
//Uncaught SyntaxError: Invalid or unexpected token
5.TypeError:操作数类型错误
TypeError(类型错误) 对象用来表示值的类型非预期类型时发生的错误。
6.URIError:URI处理函数使用不当
URIError 对象用来表示以一种错误的方式使用全局URI处理函数而产生的错误。
详细文档:[URIError](https://cloud.tencent.com/developer/section/1191736)

es5严格模式

1.浏览器是基于es3.0的+es5.0的新增方法使用的


2.es5.0严格模式,那么es3.0和es5.0产生冲突的部分就是用的es5.0
否则使用es3.0
全局模式:写在逻辑的最前面,即下面的代码都遵循es5.0的规则,
局部模式:写在函数内,作用于局部。
"use strict";//启动es5.0严格标准模式,全局模式
function test(){
	console.log(argument.callee);
	}
	test();
//5.0模式下,会报错。3.0不会
//上面还有代码,作用于局部,推荐使用局部的。
function test(){
	"use strict";//启动es5.0严格标准模式,局部模式
	console.log(argument.callee);
	}
	test();

3.变量赋值前必须声明,局部this必须被赋值,不再指向window(Person.call(null/undefined)赋值什么就是什么;拒绝重复属性和参数但是不报错。

es5.0模式下不能使用的一些方法
1.with语句 扩展一个语句的作用域链

(过于强大,es5里面不能使用)。

	var obj={
	name:"obj";
	}
	var name ='window';
	function test(){
	var name='scope';
	with(obj){
		console.log(name);
		}
	}
	test();
	//obj
	//先找obj,再text,再window

配合命名空间的使用

var org={
			dp1:{
				jc:name:'abc',
				age:123;
			},
			deng:{
				name:"xiaodeng",
				age:234
			},
			dp2:{
			}
		}
		with(org,dp1,jc){
			console,log(name);//abc
		}
		with(org.dp1.deng){
			console.log(name);//xiaodeng
		}

2.arguments.callee
3.func.caller
4.eval
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值