美文网首页
strict模式

strict模式

作者: 在小巷望天空 | 来源:发表于2018-06-22 11:26 被阅读0次

JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如果一个变量没有通过var申明就被使用,那么该变量就自动被申明为全局变量

i =10; // i现在是全局变量

在同一个页面的不同的JavaScript文件中,如果都不用var申明,恰好都使用了变量i,将造成变量i互相影响,产生难以调试的错误结果。

使用var申明的变量则不是全局变量,它的范围被限制在该变量被申明的函数体内(函数的概念将稍后讲解),同名变量在不同的函数体内互不冲突。

为了修补JavaScript这一严重设计缺陷,ECMA在后续规范中推出了strict模式,在strict模式下运行的JavaScript代码,强制通过var申明变量,未使用var申明变量就使用的,将导致运行错误。

启用strict模式的方法是在JavaScript代码的第一行写上:

'use strict';

这是一个字符串,不支持strict模式的浏览器会把它当做一个字符串语句执行,支持strict模式的浏览器将开启strict模式运行JavaScript。

来测试一下你的浏览器是否能支持strict模式:

'use strict';

// 如果浏览器支持strict模式,

// 下面的代码将报ReferenceError错误:

abc = 'Hello, world';

console.log(abc);

运行代码,如果浏览器报错,请修复后再运行。如果浏览器不报错,说明你的浏览器太古老了,需要尽快升级。

不用var申明的变量会被视为全局变量,为了避免这一缺陷,所有的JavaScript代码都应该使用strict模式。

相关文章

  • JavaScript - 基础 - 2

    #JavaScript 严格模式(use strict) JavaScript 严格模式(strict mode)...

  • 整理JavaScript

    JavaScript 严格模式(use strict) "use strict"; 通过严格模式,在函数内部选择进...

  • strict模式

    JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如...

  • ‘use strict’ js 严格模式

    'use strict'/ "use strict" 严格模式 -ECMAScript 5[http://www....

  • ES5总结

    es5总结 1. strict模式 严格模式,限制一些用法,'use strict'; 为什么使用严格模式: 消除...

  • javaScript变量提升

    JavaScript 严格模式(use strict)

  • React-native学习--基本结构

    /* 开启Strict Mode,这种模式下可以将错误处理提高。 */ 'use strict' /* 将reac...

  • Javascript 严格模式use strict详解

    Javascript 严格模式use strict详解 转载

  • strict模式总结

    进入标志 'use strict'老版本会当做一串普通字符 如何调用 写在首行,整个文件进入严格模式 放在函数体第...

  • Javascript strict模式

    JavaScript在设计之初,为了方便初学者学习,并不强制要求用var申明变量。这个设计错误带来了严重的后果:如...

网友评论

      本文标题:strict模式

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