JavaScript 标识符

标识符是名称。

在 JavaScript 中,标识符用于命名变量(以及关键词、函数和标签)。

在大多数编程语言中,合法名称的规则大多相同。

在 JavaScript 中,首字符必须是字母、下划线(-)或美元符号($)。

连串的字符可以是字母、数字、下划线或美元符号。

提示:数值不可以作为首字符。这样,JavaScript 就能轻松区分标识符和数值。

JavaScript 对大小写敏感

所有 JavaScript 标识符对大小写敏感。

变量 lastName 和 lastname,是两个不同的变量。

lastName = "Gates";
lastname = "Jobs";

JS数据类型

JavaScript 从左向右计算表达式。不同的次序会产生不同的结果:

例1:

JavaScript:

var x = 911 + 7 + "Porsche";

结果:

918Porsche

例2:

JavaScript:

var x = "Porsche" + 911 + 7;

结果:

Porsche9117

总结:

在第一个例子中,JavaScript 把 911 和 7 视作数值,直到遇见 “Porsche”。

在第二个例子中,由于第一个操作数是字符串,因此所有操作数都被视为字符串。

JavaScript 拥有动态类型

JavaScript 拥有动态类型。这意味着相同变量可用作不同类型:

实例

var x;               // 现在 x 是 undefined
var x = 7;           // 现在 x 是数值
var x = "Bill";      // 现在 x 是字符串值

您可以在字符串内使用引号,只要这些引号与包围字符串的引号不匹配:

实例

var answer = "It's alright";             // 双引号内的单引号
var answer = "He is called 'Bill'";    // 双引号内的单引号
var answer = 'He is called "Bill"';    // 单引号内的双引号

Undefined

在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。

实例

var person;                  // 值是 undefined,类型是 undefined

任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。

实例

person = undefined;          // 值是 undefined,类型是 undefined

空值

空值与 undefined 不是一回事。

空的字符串变量既有值也有类型。

实例

var car = "";                // 值是 "",类型是 "string"

Null

在 JavaScript 中,null 是 “nothing”。它被看做不存在的事物。

不幸的是,在 JavaScript 中,null 的数据类型是对象。

您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。

您可以通过设置值为 null 清空对象:

实例

var person = null;           // 值是 null,但是类型仍然是对象

您也可以通过设置值为 undefined 清空对象:

实例

var person = undefined;     // 值是 undefined,类型是 undefined

Undefined 与 Null 的区别

Undefined 与 null 的值相等,但类型不相等:

typeof undefined              // undefined
typeof null                   // object
null === undefined            // false
null == undefined             // true

原始数据

原始数据值是一种没有额外属性和方法的单一简单数据值。

typeof 运算符可返回以下原始类型之一:

  • string
  • number
  • boolean
  • undefined

实例

typeof "Bill"              // 返回 "string"
typeof 3.14                // 返回 "number"
typeof true                // 返回 "boolean"
typeof false               // 返回 "boolean"
typeof x                   // 返回 "undefined" (假如 x 没有值)

typeof 运算符把数组返回为 “object”,因为在 JavaScript 中数组即对象。