首页 > 其他 > 详细

ES5严格模式

时间:2021-07-02 09:32:03      阅读:11      评论:0      收藏:0      [点我收藏+]

现在的程序基于ES3+ES5       ES6大更新

开启严格模式

1.全局严格模式

 在script标签第一行加上‘use strict‘;

2.局部严格模式

function test(){

  //在函数第一行加上‘use strict‘

  ‘user strict‘;

}

ES5严格模式的特点:

1.不支持with、arguments.callee、function.caller

2.变量赋值前,必须被声明

例子: a = 10; // 报错  必须有var声明变量

3.局部this 必须被赋值

例子:function test(){

    ‘use strict‘;

    console.log(this);//应指向window,开启严格模式返回undefined

   }

   test();

4.拒绝重复的属性和参数

with

var obj = {
      name:‘张三‘,
      age:26
};
with(obj){
      console.log(name);//张三
      console.log(age);//26
}

arguments.callee() 方法

// arguments.callee()方法  指向函数体  做阶乘递归函数有用
function a(){
    console.log(arguments.callee);//打印函数体
}
a();

// 阶乘
var num = (function(n){
      if(n == 1){
            return 1;
      }
      return n * arguments.callee(n - 1);
}(6));
console.log(num);//720

function.caller 

// function.caller 指向执行环境 函数本身的属性
function test(){
     demo();
}
function demo(){
     console.log(demo.caller);//打印test函数体
}
test();

ES5严格模式

原文:https://www.cnblogs.com/chenhuaiyou/p/14844675.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!