`
zhangyaochun
  • 浏览: 2558195 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

严格模式探究

阅读更多

   探究一下严格模式,也是我个人一直推崇的,简单记录一下。

 

    在ECMAScript5引入了strict mode

 

    -----------   方便更快地调试出错误

 

  • 如何使用
"use strict";

 

  •  兼容性:

 http://caniuse.com/#feat=use-strict

 



 

  •  去除with
        当with语句出现在严格模式下,会被认为是非法而抛出异常。
         
 
  •  防止意外的全局变量

          变量在赋值之前必须声明,严格模式下会抛出异常。

 

        
 

  • 杜绝重复
       对象定义了重复的属性或者函数的参数名重复

      
 
  • 取消this的强制转换

    当this为null或者undefined的时候,不会强制转换为全局对象,必须赋值

 

    同样构造函数没有new 也抛错

 

window.color ="red";
function test(){
    alert(this.color);
}

 

    
 

 

  • 更安全的eval

    在eval中的语句声明变量:仍然呆在里面

 

(function(){
     eval("var i = 1;");

     //严格模式i没有声明,抛错
     //非严格,i为1
     alert(i);
});

 

     换种方式:

 

(function(){
     var result = eval("var i=1,j=2;i+j");

     //严格和非严格多是一样
      alert(result);
})

 

  •  eval不能作为字符串来做标识符(变量、函数名、参数名  )

        
 

 

  • 函数声明无法嵌套在语句或块中,只能显示在顶级货直接显示在函数体中

     

function test(){
	for(var i=0;i<10;i++){
			
		function getTest(){
			
		};
			
	}
}

      

     
 

 

  •  字符串“arguments”不能用作标识符(变量或函数名、参数名等)

      
 

  •  修改arguments这个对象里面的某些值的问题
function test(num){
     arguments[0] = 1;
     console.log(num);

     //非严格模式1
     //严格模式10,因为arguments对象只是一个本地副本

}

test(10);

 

 

  • 八进制数say NO

    
 

 

  •  未来保留关键字无法使用
  1. implements
  2. interface
  3. let
  4. package
  5. private
  6. protected
  7. public
  8. static
  9. yield

 

 

     推荐编写严格模式的方式
 
;(function(){
     "use strict";

      function getXXX(){

      } 

      function setXXX(){

      }

})();
 
 
扩展阅读
 
 
 
 
 
 
  • 大小: 82.2 KB
  • 大小: 6.2 KB
  • 大小: 7.5 KB
  • 大小: 6.7 KB
  • 大小: 5 KB
  • 大小: 4.7 KB
  • 大小: 13.4 KB
  • 大小: 6.1 KB
  • 大小: 7.2 KB
分享到:
评论

相关推荐

    加强计算机软件设计可维护性的措施探究.docx

    当然不可以随便的更改,必须要对整个软件进行相应的了解,然后再进行修改,利用严格的科学化的方法进行测试、调试、试运行和正式使用等步骤,为保证修改及升级以后的软件不出现故障。依据我机构多年的工作经验,在对...

    探究PLC控制系统应用中的干扰问题

    从 PLC 控制系统运行模式的角度出发,全面概述 PLC 控制系统中电磁干扰问题,同时提出 PLC 控制系统抗干扰措施,严格地控制电磁干扰对 PLC 控制系统产生的影响。 1 引言 在对 PLC 控制系统运行...

    基于SpringBoot+Vue的特产销售平台源码+数据库.zip

    本课题在充分研究了SpringBoot框架基础上,采用B/S模式,以Java为开发语言,MyEclipse为开发工具,MySQL为数据管理平台。 主要功能模块: 系统功能模块 进入藏区特产销售平台页面中可以查看首页、特产信息、特产...

    基于SpringBoot+Vue的藏区特产销售平台源码+数据库.zip

    本课题在充分研究了SpringBoot框架基础上,采用B/S模式,以Java为开发语言,MyEclipse为开发工具,MySQL为数据管理平台。 主要功能模块: 系统功能模块 进入藏区特产销售平台页面中可以查看首页、特产信息、特产...

    category-theory-resources:爱好者学习类别理论的资源

    范畴理论资源这是针对想要学习类别理论的发烧友的...但是与此同时,这种抽象的性质意味着,要使其致力于具体的研究课题,就变得相当艰巨。如果不首先学习足够的术语和理解来为所研究的学科建立话语框架,就很难阐明这些

    ChatGPT-4论文原文

    虽然GPT-4在许多任务上达到或超过了人类的水平,但总体而言,它的智能模式明显地不像人类。 GPT-4只是迈向通用智能系统的第一步。然而即使作为第一步,GPT-4也挑战了相当多的关于机器智能的假设,并表现出涌现的行为...

    基于SpringBoot+Vue的班级综合测评管理系统源码+数据库..zip

    本课题在充分研究了在Springboot框架基础上,采用B/S模式,以Java为开发语言,MyEclipse为开发工具,MySQL为数据管理平台,实现的内容主要包括首页,个人中心,学生管理,教师管理,班级管理,综合测评管理等功能。...

    基于SpringBoot+Vue的班级综合测评管理系统源码+数据库.zip

    本课题在充分研究了在Springboot框架基础上,采用B/S模式,以Java为开发语言,MyEclipse为开发工具,MySQL为数据管理平台,实现的内容主要包括首页,个人中心,学生管理,教师管理,班级管理,综合测评管理等功能。...

    新媒体概念及其应用.doc

    这些不断涌现的新媒体不仅改变了大众传播中的传者和受者之 间的关系,颠覆了大众媒体传统的传播模式和内容生产方式,而且给人类传播活动及生 存方式带来了巨大的改变和影响,同时也给学术理论界带来了全新的课题。...

    1新媒体概念及其应用.doc

    这些不断涌现的新媒体不仅改变了大众传播中的传者和受者之 间的关系,颠覆了大众媒体传统的传播模式和内容生产方式,而且给人类传播活动及生 存方式带来了巨大的改变和影响,同时也给学术理论界带来了全新的课题。...

    文章-网上办公系统.doc

    网上办公系统对流程控制的规定是很严格的,特别是在公文流程方面。我做的网上办公系统,基本能完成简单的网上办公工作。 作为计算机应用的一部分,使用计算机对公司的日常工作进行管理,比起以纸张为介质的传统办公...

    软件工程—实践者的研究方法

    一旦这些问题得到回答,你将了解如何使用严格的工程方法去建造软件 第四部分 面向对象的软件工程 在本书的这一部分,我们讨论那些应用于面向对象软件的分析、设计和 测试的技术概念、方法和测度。下面章节中,我们...

    基于ARM的数字语音压缩系统

    在日益发展的电子技术和各行业对产品需求的不断提高的刺激下,原有的语音录音装置已经满足不...本课题设计的新型语音压缩系统经过严格的调试和各种测试,各项功能和指标都达到设计要求,现已完全替代原有语音录音装置。

    jsp百货中心供应链管理系统设计软件源码+数据库+WORD毕业论文文档.zip

    百货中心作为现在物流以及商业中的重要一环,为了应对新兴消费方式的冲击,其供应链模式自然也有统筹优化的必要,同时,Internet和网络技术的飞速发展也为供应链的管理提供了新的手段。 SCM(Supply Chain Management...

    成本管理论文:驾校的成本管理.doc

    本文专注于研究的是桂林驾校的成本管理水平,发现和分析成本管理中的问题并提出改善成本管理的建议,以期能够促进驾校有效地控制和改善成本,从而促进驾校成本管理水平的提高。 关键词:驾校 成本 管理 控制 一、...

    asp在线考试系统(asp+access实现)

    ☆在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 ☆计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。 ☆成绩查阅:考生...

    ASP设计在线考试系统OnlineTest

    ☆在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 ☆计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。 ☆成绩查阅:考生...

    基于不同测井曲线的煤体结构识别——以大同煤田塔山矿为例-论文

    为探究大同煤田塔山矿3~5号煤层煤体结构特征及对应的测井曲线识别方法,以塔山矿50余口钻孔数据和测井结果为研究依据,通过测井曲线解释、构造煤煤体结构指数和原生煤比例计算等数学方法结合,进行构造煤发育特征的...

    AI智能+人脸识别.pptx

    Deep Learning, DL )又是机器学习的一个分支,可以理解为用计算机的算法模拟人类大脑的深度神经网络,然而对于神经网络我们还没有一个严格的定义,但其特点是试图模仿大脑的神经元之间传递,处理信息的模式。...

Global site tag (gtag.js) - Google Analytics