Ili*_*oly 150 javascript exception
var err1 = Error('message');
var err2 = new Error('message');
Run Code Online (Sandbox Code Playgroud)
有什么不同?在Chrome控制台中查看它们,它们看起来完全相同.对象和同一__proto__
链上的相同属性.几乎看起来像Error
一个工厂.
哪一个是正确的,为什么?
Eli*_*gem 17
Error
确实像一个工厂,其实几乎所有的原生构造做:Array
,Object
,...所有检查类似if (!(this instanceof Array)) { return new Array(arguments); }
也就是说,如果出现错误,甚至不需要抛出一个String(x)
对象... new String(x)
也可以工作
你甚至可以抛出一个对象文字进行调试:
throw {message:"You've been a naughty boy",
context: this,
args: arguments,
more:'More custom info here'};
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22658 次 |
最近记录: |