Effective JavaScript :第一章
第一章
一、严格模式与非严格模式
1.在程序中启用严格模式的方式是在程序的最开始增加一个特定的字符串字面量:
‘use strict’
同样可以在函数体的开始处加入这句指令以启用该函数的严格模式。
function f(x) {
‘use strict’;
//...
}
在严格模式下,不允许重复定义argument变量。例如以下代码在严格模式下会出错:
function f(x) {
‘use strict’;
var arguments = [ ]; //error :redefinition of arguments
//...
}
2.避免对混合类型使用 == 运算符:
(1)当参数类型不同时,==运算符应用了一套难以理解的隐式强制转换规则。
(2)使用 === 运算符,使读者不需要涉及任何的隐式强制转换就能明白你的比较运算。
(3)当比较不同类型的值时,使用你自己的显式强制转换使程序的行为更清晰。
3.分号插入的局限
(1)分号仅在 } 标记之前、一个或多个换行之后和程序输入的结尾被插入。
(2)分号仅在随后的输入标记不能解析时插入。
(3)在以(、[、+、-或/字符开头的语句前绝对不能省略分号。
(4)当脚本连接的时候,在脚本之间显示地插入分号。
(5)在return、throw、break、continue、++或--的参数之前绝不能换行。
(6)分号不能作为for循环的头部或空语句的分隔符而被推导出。
Effective JavaScript :第一章的更多相关文章
- JavaScript 第一章总结
A quick dip into javascipt The way JavaScript works HTML 用一系列的 markup 来呈现整个 content 的 structure.CSS ...
- Effective java第一章引言
菜鸟一枚,开始读第一本书<Effective Java>(第二版)~ 看引言就有好多名词不懂(>_<) 导出的API由所有可在定义该API的包之外访问的API元素组成.一个包的 ...
- 重温Javascript第一章
一.script标签 script标签有6个属性,其中一个废弃,五个可选. 按照传统的写法,<script>的标签都是放在<head>元素中,但是在<head>中包 ...
- 你不知道的JavaScript——第一章:作用域是什么?
编译原理 JavaScript事实上是一门编译语言,但与传统的编译语言不同,它不是提前编译的,编译结果也不能在分布式系统中进行移植. 任何JavaScript代码片段在执行前都要进行编译(通常就在执行 ...
- Effective c++ 第一章 让自己习惯C++
条款 01:c++是一个语言联邦而不是一种单一的语言, 它包括: 1.C语言:没有模版.没有异常.没有重载…… 2.Object-Oriented C++:class.析构函数.构造函数.封装.继承. ...
- [Effective JavaScript 笔记]第3章:使用函数--个人总结
前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...
- 《JavaScript高级程序设计(第3版)》阅读总结记录第一章之JavaScript简介
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)&g ...
- 读《编写可维护的JavaScript》第一章总结
第一章 基本的格式化 1.4 ① 换行 当一行长度到达了单行最大的字符限制时,就需要手动将一行拆成俩行.通常我们会在运算符后换行,下一行会增加俩个层级的缩进. // 好的做法: 在运算符后换行,第二行 ...
- 第一章:Javascript语言核心
本节是javascript语言的一个快速预览,也是本书的第一部分快速预览. 读此书之前,感谢淘宝技术团队对此javascript核心的翻译,感谢弗拉纳根写出此书.感谢你们无私的分享,仅以此笔记献给你们 ...
随机推荐
- 【MSP是什么】MSP认证之项目群管理
项目群管理是一套流程.工具和方法来管理一组项目以达到与组织愿景一致的目的.为了达成对业务具有战略重要性的成果并实现收益, 而对一系列项目和变革活动的组织.方向和实施开展的协调行动.通过对项目群进行管理 ...
- jq 测试是否到页面最底端
$(window).scroll(function () { if ($(document).scrollTop() + $(window).height() >= $(document).he ...
- shell 读取文件
#!/bin/bash content=`cat test.txt` echo "begin" for i in $content do echo $i done 读取前10行 t ...
- 上传代码到GitHub时,遇到错误:fatal,The Requested URL return error 403
解决: from:pushing-to-git-returning-error-code-403-fatal-http-request-failed
- 简单字符串匹配 Brute
/* 很简单 模式匹配的Brute-Force算法 Brute-Force算法实现模式匹配的思想是:从主串s=”s0s1…sn-1”的第一个字符开始和模式串t=”t0t1…tn-1”的第一个字符比较, ...
- scip习题(1) scheme和c实现的对比
习题1.3 定义一个过程,它以三个数为参数,返回其中较大的两个数的平方和. (Define a procedure thats three numbers as argument and return ...
- Tarjan算法详解
Tarjan算法详解 今天偶然发现了这个算法,看了好久,终于明白了一些表层的知识....在这里和大家分享一下... Tarjan算法是一个求解极大强联通子图的算法,相信这些东西大家都在网络上百度过了, ...
- 杂谈3之English
1.面向过程(OPP):Orient Procedure Program (C语言) 2.面向对象(OOP):Orient ObjectProgram(Java) 3.面向对象的三大特征:继承Inhe ...
- NGUI中的Tween的委托使用
public TweenPosition tweenIn; public TweenScale tweenOut; EventDelegate In = new EventDelegate(this, ...
- GraphLab介绍[转]
GraphLab介绍 原文链接:http://blog.jasonding.top/2015/06/08/Machine%20Learning/%E5%BC%80%E6%BA%90%E5%9B%BE% ...