《JavaScript DOM 编程艺术》读书笔记之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的含义相同。要进行严格比较,就要使用另一种等号(===)。这个全等操作符会执行严格的比较,不仅比较值,而且会比较变量的类型。
当然,对于不等操作符!=也是如此。如果想比较严格不相等,就要使用!==。