JavaScript 语法

注释

单行注释://

多行注释:/* */

"<!--"可以用作单行注释,由于和HTML的"<!--  -->"多行注释类似,容易混淆,所以不建议这种注释方法

变量

在JavaScript 语言里,变量和其他语法元素的名字都是区分字母大小写的。名字mood的变量与名字是Mood、MOOD或mOOd的变量没有任何关系,它们不是同一个变量。

JavaScript 语法不允许变量名中包含空格或标点符号("$"例外)。

JavaScript 变量名允许包含字母、数字、美元符号和下划线(但第一个字符不允许是数字)。

另一种方式是使用驼峰格式,删除中间的空白(下划线),后面的每个新单词改用大写字母开头:var myMood = "happy";

数据类型

字符串

字符串必须包括在引号中,单引号或双引号都可以。你可以随意选择引号,但最好是根据字符串所包含的字符来选择。如果字符串包含双引号,就把整个字符串放在单引号里,反之亦然:

var mood = "don't ask";

如果想在上面这条语句中使用单引号,就必须保证字母"n"和"t"之间的单引号能被当成这个字符串的一部分。这种情况下我们需要对这个字符进行转义。在JavaScript里用反斜线对字符进行转义:

var mood = 'don\'t ask';

数组

关联数组

传统数组:每个元素的下标是一个数字,每增加一个元素,这个数字就一次增加1。

如果在填充数组时只给出了元素的值,这个数组就将是一个传统数组,它的各个元素的下标将被自动创建和刷新。

可以通过在填充数组时为每个新元素明确地给出下标来改变这种默认的行为。在为新元素给出下标时,不必局限于使用整数数字。你可以使用字符串:

var lemon = Array();

lemon["name"] = "John";

lemon["year"] = 1940;

lemon["living"] = false;

这样的数组叫做关联数组。由于可以使用字符串代替数字值,因而代码更具有可读性。但是,这种用法并不是一个好习惯,不推荐大家使用。本质上,在创建关联数组时,你创建的是Array对象的属性。在JavaScript 中,所有的变量实际上都是某种类型的对象。比如,一个布尔值就是一个Boolean类型的对象。在上面这个例子中,你实际上是给lemon数组添加了name、year和living三个属性。在理想情况下,你不应该修改Array对象的属性,而应该使用通用的对象(Object)。

对象

var lemon = Object();

lemon.name = "John";

lemon.year = 1940;

lemon.living = false;

lemon对象也可以写成下面这样:

var lemon = {name:"John", year:1940, living:false};

比较操作符

相等操作符==并不表示严格相等,这一点很容易让人犯糊涂。例如,比较false与一个空字符串会得到什么结果?

var a = false;

var b = "";

if(a == b){

alert("a equals b");

}

这个条件语句的求值结果是true,为什么?因为相等操作符==认为空字符串与false的含义相同。要进行严格比较,就要使用另一种等号(===)。这个全等操作符会执行严格的比较,不仅比较值,而且会比较变量的类型。

当然,对于不等操作符!=也是如此。如果想比较严格不相等,就要使用!==。

<!--

作者:纤锐
出处:http://www.cnblogs.com/beginner2014/p/4142717.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。谢谢合作。

-->

JavaScript DOM 编程艺术(第2版)读书笔记(2)的更多相关文章

  1. Javascript DOM 编程艺术(第二版)读书笔记——基本语法

    Javascript DOM 编程艺术(第二版),英Jeremy Keith.加Jeffrey Sambells著,杨涛.王建桥等译,人民邮电出版社. 学到这的时候,我发现一个问题:学习过程中,相当一 ...

  2. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  3. 《JavaScript DOM编程艺术(第二版)》读书总结

    这本书是一本很基础的书,但对于刚入前端不久的我来说是一本不错的书,收获还是很大的,对一些基础的东西理解得更加透彻了. 1.DOM即document object model的缩写,文档对象模型,Jav ...

  4. 【读书笔记】读《JavaScript DOM 编程艺术-第2版》

    1.DHTML DHTML曾被认为是HTML/XHTML.CSS和JavaScript相结合的产物,就像今天的HTML5那样,但把这些东西真正凝聚在一起的是DOM.如果真的需要来描述这一过程的话,“D ...

  5. Javascript DOM 编程艺术(第二版)读书笔记——DOM基础

    1.DOM是什么 D=document(文档) O=object(对象) M=Model(模型) DOM又称节点树 一些术语: parent(父)   child(子)   sibling(兄弟)   ...

  6. JavaScript -- JavaScript DOM 编程艺术(第2版)

    /* 渐进增强 平稳退化 网页 结构层(structural layer): HTML 表示层(presentation layer): CSS <link rel="styleshe ...

  7. 《JavaScript DOM 编程艺术 第 2 版》

    第 5 章 最佳实践 平稳退化:现在基本所有带交互的网站都使用 Ajax,SAP 也火起来了,平稳退化真是很难实现了(看到第七章发现我之前的观点是错了) 分离 JS 向下兼容 性能考虑 第 6 章 案 ...

  8. JavaScript DOM编程艺术读后感(1)—— 平稳退化

    最近,在读<JavaScript DOM编程艺术(第二版)>这本书,想着将自己的读后感记录下来,作为记忆吧. 其实我并不是最近才刚开始读这本书的,我读了有一段时间了.我是一名web前端开发 ...

  9. JavaScript DOM编程艺术(第2版)的简单总结

    介绍 JavaScript DOM编程艺术(第2版)主要讲述了 JavaScript.DOM 和 HTML5 的基础知识,着重讲述了 DOM 编程,并通过几个实例演示了具有专业水准的网页开发. 下面介 ...

  10. 《JavaScript Dom 编程艺术》读书笔记-第4章

    我的前端入门第一本书是<JavaScript Dom 编程艺术>,网上查找资料发现前端的入门推荐书籍最受好评的就是这本和<JavaScript 高级程序设计>了.之所以先选这本 ...

随机推荐

  1. canvas 基础知识整理(二)

    html部分: <canvas id="myCanvas" width="800" height="800" ></can ...

  2. sockopt note

    1.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO ...

  3. 20145207 《Java程序设计》第10周学习总结

    前言:   最后一篇java博客好激动啊..不过猜猜我在干什么?没错,安虚拟机,唉!紧接着又是一大波信安系统的博客,真开心~好啦边敲博客,边装虚拟机. 教材知识汇总 13.1 网络概述 13.1.1计 ...

  4. 数据库 CRUD

    1.删除表 drop  table +表名 2.修改表 alter  table+表名+ add(添加)+列名+ int(类型) alter  table+表名+ drop(删除)+column(列) ...

  5. C++之路进阶——codevs2313(星际竞速)

    2313 星际竞速 2010年省队选拔赛山东  时间限制: 3 s  空间限制: 128000 KB  题目等级 : 大师 Master     题目描述 Description 10 年一度的银河系 ...

  6. java.面向对象特征

    面向对象特征: 封装,多态,继承 面向对象思想: 封装,继承,多态,接口

  7. HDU 4834 JZP Set(数论+递推)(2014年百度之星程序设计大赛 - 初赛(第二轮))

    Problem Description 一个{1, ..., n}的子集S被称为JZP集,当且仅当对于任意S中的两个数x,y,若(x+y)/2为整数,那么(x+y)/2也属于S.例如,n=3,S={1 ...

  8. 。。。Hibernate 查询数据 事务管理。。。

    在Hibernate中,查询数据的时候,可能会需要事务的管理,为什么呢?因为在查询数据库的时候,Hibernate将数据从数据库里面查询出来之后,会先把数据放入Hibernate的session缓存里 ...

  9. 如何把Eclipse工程import Exprot到Android Studio

    http://jingyan.baidu.com/article/b87fe19e9e209f5218356808.html

  10. 05---Net基础加强

    接口 public class Program { static void Main(string[] args) { IFlyable sp = new SupperMan(); sp.Fly(); ...