美文网首页
try..catch, es5标准模式

try..catch, es5标准模式

作者: 浮巷旧人 | 来源:发表于2018-08-02 18:27 被阅读0次
//try里面的错误,不会执行错误后的try里面的代码

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

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

es5严格模式

  • "use strict "
    不在兼容es5的一些不规则语法。使用全新的es5规范。
    两种用法:
    1.全局严格模式
    2.局部函数内严格模式(推荐)
    就是一行字符串,不会对不兼容严格模式的浏览器产生影响。
    不支持with,arguments.callee,func.caller,变量赋值前必须声明,局部this必须被赋值(Person.call(null/underfined))赋值什么就是什么,拒绝重复属性和参数
//基于的es3.0的  + es5.0的新增方法 使用的
//es3.0严格模式 那么es3.0和es5.0产生冲突的部
//分就是用es5.0 否则会使用es3.0
 "use  strict";//es5.0严格模式 逻辑最顶端加上这
//句话  或者写在函数里的逻辑最顶端 实现局部效果
function  test() {
  console.log(arguments.callee);
}
test();报错
var obj = {
    name  : "obj"
}
var  name  =  'window';
function test () {
    var name = 'scope';
   with(obj) {
          console.log(name);
   }
}
test();->obj
with可以让里面的代码作用域链的最顶端变成括号
里面的对象,obj当成了第一个作用域链的ao,但
是在es5.0里是报错的
 "use  strict";
function Test  () {
  console.log(this);
}
Test(); -->underfined

function Test  () {
  console.log(this);
}
new Test(); --> Test{}

function Test  () {
  console.log(this);
}
Test.call({}); -->Object{}

function test(name,  name){
      console.log(name);
}
test(1,  2); 报错

var a  =  123;
eval('console.log(a)');
eval 能把字符串当代码用  所以123打印出来了
//es3.0都不能eval();eval是魔鬼

相关文章

  • try..catch, es5标准模式

    Error.name的六种值对应的信息:1.EvalError:eval()的使用与定义不一致2.RangeErr...

  • es5标准模式

    浏览器基于es3.0的+es5.0的新增方法 使用的如果产生冲突默认选es3.0怎么要用es5.0呢?es5.0的...

  • ES5和ES6

    ES5 严格模式 1. 理解: 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(stric...

  • 2018-09-29

    ES5 严格模式 1. 理解: 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(stric...

  • ES5、ES6、ES7

    ES5 严格模式 1. 理解: * 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(str...

  • 4-1

    ES5 严格模式 1. 理解:* 除了正常运行模式(混杂模式),ES5添加了第二种运行模式:"严格模式"(stri...

  • ES5-6-7学习

    ES5中的特性 一、严格模式 'use strict' 1. 理解: 除了正常运行模式(混杂模式),ES5添加了第...

  • RN-ES5 ES6写法对比

    模块引用 ES5 使用CommonJS 标准, 使用 require ES6 import 写法 导出类 ES5 ...

  • JS中严格格式的使用--'use strict'

    一:简单介绍 严格模式是在ES5中引入的,它可以视为JS的一个子集,在严格模式下,限制了JS的标准使用下一些行为。...

  • 关于for in 、for of 、 forEach

    关于for in 、for of 、 forEach for in是ES5标准,遍历key.for of|forE...

网友评论

      本文标题:try..catch, es5标准模式

      本文链接:https://www.haomeiwen.com/subject/pbydvftx.html