1. 数据类型
有五种简单数据类型:Undefined、Null、Boolean、Number、String,一种复杂数据——Object。
typeof 操作符,其返回值是一个字符串有:
- undefined:该值未定义;
- boolean:该值为布尔值;
- string:该值是字符串;
- number:该值是数值;
- object:该值为对象或者 null;
- function:该值为函数。
使用方法:
1 | var num = 1; |
变量没定义之前的值就是 Undefined:
1 | var test_0; |
Null 类型也只有一个值,null,表示一个空指针对象。
1 | var test = null; |
Number 有一个 NaN(Not a Number)值,用于表示一个返回数值的操作数值未返回数值的情况。比如 在其它语言里 数值除以 0 会报错,而在 js 会返回上面个个值。NaN 与其它值的相加相除等操作返回的值也是 NaN。
Number 数值转换有三个函数:Number()、parseInt() 以及 parseFloat()。
Number() 可用于任何任何数据类型,其它两个是用于字符串的。
1 | var str = "11"; |
转换为字符串的方法有两种方式,第一个就是第个值都有的 toString() 方法。
1 | var num = 11; |
toString 方法可传入基数,输入不同的值会有不同的返回不同的进制数。
1 | var num = 11; |
亦可直接使用 String() ,使用方法与 Number() 类似。
2. 操作符
+-*/<>=&&|| 与其它语言是类似的。
有一点需要注意全等和不全等符,全等符由 3 个等号(===)表示,在两个操作数未经转换就相等的情况下返回 true,如下面
1 | var result_0 = "55" == 55; // true 转换后相等 |
3. 语句
if/else/while/for 等语句与 C 语言类似。
for-in 语句是一个精准的迭代语句,可以枚举对象的属性,与 python 的 for 语句类似。
1 | for (property in expression) statement; |
例子:
1 | for (var proName in window) { |
label 语句可以在代码中添加标签,以便将来使用,用法:
1 | label: statement; |
例子:
1 | start: for (var i = 0; i < 10; i++) { |
with 语句的作用是将代码的作用域设置到一个特定的对象中,用法:
1 | with (expression) statement; |
with 语句的目的是为了简化多次编写同一个对象的工作,如例子示:
1 | var qs = location.search.substring(1); |
用 with 语句可改写为:
1 | with (location) { |
4. 函数
js 不像 java 那样可以实现重载,如相同的函数名接受不同参数的类型和数量,可定义不同的函数。
如果 js 定义两个相同的函数,那么名字只属于后定义的函数。