本文详解JavaScript基础语法,涵盖单行与多行注释规范、变量大小写敏感性及命名限制。深入解析字符串转义、传统数组与关联数组的区别,并强调应使用Object而非Array构建键值对。最后对比==与===运算符,阐明类型转换陷阱及严格比较的重要性。
注释规范与变量命名规则
注释 单行注释://
多行注释:/* */
"<!--"可用作单行注释,因与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含义相同。欲严格比较,需使用另一种等号(===)。全等操作符执行严格比较,既比值也比类型。
同理,不等操作符!=亦如此。欲严格比较不相等,需使用!==。