为什么使用"use strict"可以节约你的时间

转: http://ourjs.com/detail/52f572bf4534c0d806000024

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

使用方法

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

这样佻的file.js都会应用上"use strict"模式。
如果你仅想在一个函数中使用:

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

好处

检查对象中的重复键

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

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

未声明变量

plane = 5;

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

重复的参数

function run(fromWhom, fromWhom){}

注意fromWho出现了两次,因此会抛出一个错误。

限制函数中的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 又节约了你的时间。

原文地址: webdesignporto.com

时间: 2024-10-10 22:41:22

为什么使用"use strict"可以节约你的时间的相关文章

use strict 的优点

JavaScript严格模式详解 http://blog.csdn.net/airingyuan/article/details/25036297 http://ourjs.com/detail/52f572bf4534c0d806000024 好处 检查对象中的重复键 var zombie = { eyeLeft : 0, eyeRight: 1, // ... a lot of keys ... eyeLeft : 1} 这段代码会抛出一个错误因为 eyeLeft 出现了两次.这比你用眼睛去

web前端开发必懂之一:JS继承和继承基础总结

首先,推荐一篇博客豪情的博客JS提高篇: http://www.cnblogs.com/jikey/p/3604459.html ,里面的链接全是精华, 一般人我不告诉他; 我们会先从JS的基本的设计模式开始,由浅入深: 工厂模式:因为使用用一个接口创建很多对象会产生大量的重复代码,为了解决这个问题,人们就开始使用工厂模式: <!DOCTYPE html> <html> <head> <title></title> <meta charse

路由器的简单配置

Router#con Router#conf Router#configure  t Enter configuration commands, one per line.  End with CNTL/Z. Router(config)#hostname R1 R1(config)#exit R1# R1#ter R1#terminal  history  size  ? <0-256>  Size of history buffer R1#terminal  history  size  

使用 CodeIgniter 框架快速开发 PHP 应用(五)

原文:使用 CodeIgniter 框架快速开发 PHP 应用(五) 简化 HTML 页面和表格设计 这一章介绍了又一个节约你的时间而且使你的代码更具安全性和逻辑性的领域. 第一,我们将会介绍创建视图的各种不同方法-与你的控制器和模型协同并用来显示结果的页面. 然后,你将会学到如何很快地创建 HTML 表格, 与实现内建的保护; 而且你也将会看到该如何校验你的表格. 我假定这本书的读者熟悉 HTML 和 CSS . 下列的例子非常简单,因此,我们能把重点放在 CI 代码上. 而且我已经假定我们已

使用ARM模板在Azure中国大规模部署DC/OS集群

容器技术是目前非常流行的技术,尤其是在以Docker作为容器引擎的推动下,让容器的轻量级,可移植,自包含,隔离性等的上了一个新的台阶,目前谈及Dev/Ops,CI/CD很少能够绕过Docker的. Azure在去年就推出了容器服务ACS,以其对开源的全面兼容性,开放性,最全面的编排器(DC/OS, Kubernetes,Swarm)支持而广受好评,但在中国和很多地区,ACS并没有上线,如何在这些地区快速大规模部署容器服务一直是个问题. 而微软更进一步,在11月初,进一步开源了ACS的核心引擎ac

python 之 多进程

阅读目录 1. Process 2. Lock 3. Semaphore 4. Event 5. Queue 6. Pipe 7. Pool 序. multiprocessingpython中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Python提供了非常好用的多进程包multiprocessing,只需要定义一个函数,Python会完成其他所有事情.借助这个包,可以轻松完成从单进程到并发执行的转换.multiprocessin

编程如何入门(创世纪新篇)

万事开头难,人人 都梦想成为像比尔盖茨,乔布斯这样的编程大师,但进入软件开发领域也是很艰难的,就像一个神学院的学生不知如何祷告.当然,如果你还是一名刚刚入门的程序员,那么我相信你深刻理解没有经验或者没有太多经验想找一份工作是如何困难.如果你已经在软件开发这一行干过一段时间,那么我相信想要在这个竞争激烈的行业鹤立鸡群又是如何困难. 我接触过很多刚刚入门的开发人员,他们非常迷茫,因为他们不知道该往哪里投入自己的精力来发展自己的职业生涯,也不知道未来的方向在哪里.选择是如此之多,让人眼花缭乱:有那么多

POJ 2635 The Embarrassed Cryptographer (同余线性方程+素数筛)

题目地址:POJ 2635 先用素数筛把10^6万以内素数筛出来.然后把输入的那个大数转化成数组,并且每三位存成一个数,这样可以节约内存和时间,然后利用同余线性的原理,对那个小整数以内的所有素数枚举,然后判断是否整除,找到最小的能被整除的. 代码如下: #include <iostream> #include <string.h> #include <math.h> #include <queue> #include <algorithm> #i

最常用的15大Eclipse开发快捷键技巧【转】

引言 做java开发的,经常会用Eclipse或者MyEclise集成开发环境,一些实用的Eclipse快捷键和使用技巧,可以在平常开发中节约出很多时间提高工作效率,下面我就结合自己开发中的使用和大家分享一下Eclipse中常用到的快捷键和技巧. 1.alt+?或alt+/:自动补全代码或者提示代码 这个是我最得意的快捷键组合了,尤其是当输入syso几个字符之后,2个手指轻松按下这2个键的时候,自动就补全System.out.println();了,而且eclipse默认是出现"."进