博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js之strict模式
阅读量:5291 次
发布时间:2019-06-14

本文共 658 字,大约阅读时间需要 2 分钟。

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);

转载于:https://www.cnblogs.com/lfxiao/p/9355763.html

你可能感兴趣的文章
LaTeX 中图片格式错误情况
查看>>
Sublime Text 3 Build 3065 License key 注册码 秘钥
查看>>
AngularJS中transclude用法详解
查看>>
Sliding Menu Demos 浅析:Sliding Title Bar 与 Sliding Content Only
查看>>
java利用freemarker导出world
查看>>
简单的弹出拖拽窗口(二)
查看>>
luogu3147 [USACO16OPEN]262144
查看>>
LeetCode题解之 Assign Cookies
查看>>
第八周编程总结
查看>>
Java-----思想认识
查看>>
ASP.NET - TreeView控件,只操作最后一级节点
查看>>
设计模式示例系列随笔
查看>>
HTTP协议概述
查看>>
Available to Promise (ATP) in SAP-SD
查看>>
Google Talk
查看>>
Spring 之注解事务 @Transactional
查看>>
ArrayList,LinkedList的对比
查看>>
eclipse 最简单的方法 显示行号
查看>>
Winform应用ssk皮肤
查看>>
Intel QuickAssist Technology and OpenSSL – Benchmarks and Setup Tips
查看>>