"use strict"是JavaScript中一个非常好的特性,而且非常容易使用。

使用方法

// file.js
"use strict"
function doStuff(){
// use strict is enabled here!
}

这样在file.js都会应用上"use strict"模式。

如果你仅想在一个函数中使用:

// file.js
function a(){
"use strict";
// use strict is enabled in this context
function nestedFunction(){
// and here too
}
}

优点1

检查对象中的重复键

var zombie = {
eyeLeft : 0,
eyeRight: 1,
// ... a lot of keys ...
eyeLeft : 1
}

这段代码会抛出一个错误因为 eyeLeft 出现了两次。这比你用眼睛去找错误要快多了。

优点2 未声明变量 重复参数

plane = 5;

function run(fromWhom, fromWhom){}

你现在已经知道忘记在这个变量前面加var了。不过如果你不知道,调试起来是非常痛苦的,因为这个变量是声明在全局上下文(global context)中的,而且可能被其他地方改掉。想象一下,如果你声明了一个全局的 i, 在嵌套循环中可能会引起混乱。

优点3 限制函数中的arguments

var run = function(fromWhom){
arguments[0] = 'alien';
alert(fromWhom);
}
run('zombie');
// alert: 'alien';

现在你可以使用"use strict"

var run = function(fromWhom){
"use strict";
arguments[0] = 'alien';
alert(fromWhom);
}
run('zombie');
// alert: 'zombie';

arguments[0] = 'alien' 改变了参数fromWhom,use strict 又节约了你的时间。

最新文章

  1. Anliven - 如何逼疯你的小伙伴
  2. 2016古装动作喜剧《笨贼别跑》HD720P.国语中字
  3. java二叉树的实现和遍历
  4. jQuery文本框(input textare)事件绑定方法教程
  5. 重新起步 iOS 开发
  6. 做一个聪明的.net程序员
  7. BufferedInputStream
  8. oracle中闪回错误的dml操作原理
  9. 【Web探索之旅】第二部分第三课:框架和内容管理系统
  10. ThinkPHP中连接mysql数据库的四种实用和通用的连接方法
  11. 配置mac自带的Apache服务器
  12. ORACLE sid,pid,spid总结
  13. ajax实现用户登陆,退出,java做后端
  14. 个人技术博客Alpha----Android Studio UI学习
  15. ZOJ 4027 Sequence Swapping(DP)题解
  16. maven的注意点
  17. hdu 4952 暴力
  18. LeetCode——Move Zeroes
  19. IOS UI-标签(Label)的高级应用
  20. html使用自我知识点总结

热门文章

  1. Devops(三):Docker常用命令
  2. 查看DDR的频率【学习笔记】
  3. mysql 5.6配置
  4. docker中mysql pxc集群
  5. SQL 对decimal类型转换为int类型
  6. 使用sphinx为python注释生成docAPI文档
  7. 软件定义网络基础---REST API概述
  8. RequestUtil 获取网址页面信息
  9. Qt编写气体安全管理系统29-跨平台
  10. [LeetCode] 384. Shuffle an Array 数组洗牌