js的严格模式会放弃js中的一些不正规的写法,参考 http://www.cnblogs.com/God-Shell/p/3139329.html;

使用声明"use  strict"字符串可以启动js严格模式的检查,作用方式分为两种。

1 全局开启严格模式检查

那么这个"use  strict"字符串可以声明到<script>标记(javascript文件也可以看做单独的<script>标记)内的最顶部,如下:

<script>
"use strict"
function a() {
xxx
} </script>

这样认为在整个<script>标记内开启严格模式。如果该<script>代码块中调用了其它<script>代码块中的代码,那么存在另一个<script>代码块中的代码也不会由于该<script>中声明了"use  strict"而进行严格检查,除非另一个代码块中仍然在最顶端存在"use  strict";

2 方法内部开启严格模式检查

如果将"use  strict"字符串声明到方法内部,如下:

function a() {
"use strict"
var a=1;
b();
}
function b() {
arguments.callee.caller;//该代码不符合严格模式的用法
}

就是在a方法内部使用严格模式,而不会去干涉b方法中的代码是否遵循严格模式。如果b方法中涉及arguments.callee.caller代码,寻找上级的调用方法,并且刚好寻找到a方法所在的调用,则在IE10及以上的浏览器中会抛出:“strict 模式下不允许访问函数或参数对象的"caller"属性”的异常,而chrome浏览器会提示caller为空,并不抛出异常。如果在全局模式下使用如arguments.callee.caller这类代码,无论出现在任何调用位置,IE chrome都会抛出异常***

js严格模式“use strict”的更多相关文章

  1. ES5严格模式(Strict mode)

    严格模式(Strict mode)是由ECMA-262规范定义的新兴JavaScript标准,第五版发布于2009年12月.旨在改善错误检查功能并且标识可能不会延续到未来JavaScript版本的脚本 ...

  2. 浅谈JS严格模式

    浅谈JS严格模式 简介 何为严格模式?严格模式(strict mode)即在严格的条件下运行,在严格模式下,很多正常情况下不会报错的问题语句,将会报错并阻止运行. 但是,严格模式可以显著提高代码的健壮 ...

  3. node js koa js严格模式

      当前为配置 非原创 引用于“得金” ### nodejs项目配置终端命令 1. 检查本地 nodejs 版本`$node -v` 如果版本低就升级 2. 安装 n 升级命令 `$npm insta ...

  4. 什么是ES5?js中的'use strict'是什么?目的是什么?

    什么是ES5? ECMA Script5:ECMA(欧洲计算机制造联合会)的第五次改版,2009年. js中的'use strict'是什么? js的严格模式 目的: ①添加更多报错的场合,消除代码的 ...

  5. 转var,let,const,js严格模式的详解

    最近看微信公众账号/知乎网上的文章说,现在的前端的人都注重用什么框架,一问原生js感觉都没有用到工作中.用不到的,学这些意义没有.上午我刚面试了一个前端,工作4年吧.最初是北大青鸟培训的,做后端.ne ...

  6. Javascript 严格模式("use strict";)详细解解

    1 1 1 Javascript 严格模式("use strict";)详细解解 "use strict";定义JavaScript代码应该在"str ...

  7. "严格模式" use strict 详解

    一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:"严格模式"(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. ...

  8. Javascript 严格模式use strict

    一.概述 除了正常运行模式,ECMAscript 5添加了第二种运行模式:“严格模式”(strict mode).顾名思义,这种模式使得Javascript在更严格的条件下运行. 设立”严格模式”的目 ...

  9. js调试模式控制台输出信息

    js调试模式控制台输出信息.console.log

随机推荐

  1. C++ windows遍历目录

    bool Search(TCHAR *Path,TCHAR *File) { HANDLE hFind; WIN32_FIND_DATA wfd; ZeroMemory(&wfd,sizeof ...

  2. 关于配置文件权衡,.config VS .xml

    众所周知,程序的灵活性有一部分就是“配”出来了. 当然,config文件从来就没有让.NET的同学轻松过,至少,我觉得很麻烦. 1.config .NET的配置文件方便,其实最方便的是appSetti ...

  3. Unity3D Built-in Shader详解一

    Unity3D内置了很多Shader,文档很详细,自己翻一下.便于加深印象. 首先先解释下Unity3D的Shader.Unity里面的Shaders是使用一种叫ShaderLab的语言编写的,它同微 ...

  4. BZOJ3642 : [CEOI 2014] Cake

    rank[i]表示第i美味的是哪块 left[i]表示在k左边美味度为i的是哪块 right[i]表示在k右边美味度为i的是哪块 用3棵线段树分别维护d序列的区间最大值.left序列的区间最大值.ri ...

  5. python 中chr(),unichr(),ord()的用法

    chr()根据整数返回对应的字符,也就是讲ascii转换为字符 unichr()将整数返回成unicode字符 ord()将字符转换成ascii码

  6. python中的循环

    >>> x = 100 >>> y = 10>>> x < y and x or y10>>> x if x > y ...

  7. 使用javabean连接数据库时遇到的问题

    1.whitespace问题.是便签了每空格如: 就会出现下面的问题.contentType前每空格.空格后就解决了 2. 这是部署问题,关闭,重新部署 追问 怎么部署? 回答 1.选中项目 F5(e ...

  8. Mui - 全局css

    头部(mh) <header class="mui-bar mui-bar-nav"> <a class="mui-action-back mui-ic ...

  9. freeswitch

    FreeSWITCH 是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动.FreeSWITCH 可以用作交换机引擎.PBX.多媒体网关以及多媒体服务器等.可以用作一个简单 ...

  10. [服务器]脚本:批处理带参数ping命令 发送邮件脚本

    1.批处理带参数ping命令 @echo offecho Input you IP address ......set /p IP=echo Your IP number is %IP%.ping % ...