运算
类型
Number
JavaScript 不区分整数值和浮点数值,所有数字在 JavaScript 中均用浮点数值表示,所以在进行数字运算的时候要特别注意parseInt() 和 parseFloat() 函数会尝试逐个解析字符串中的字符,直到遇上一个无法被解析成数字的字符,然后返回该字符前所有数字字符组成的数字。然而只要字符串中含有无法被解析成数字的字符,该字符串都将被转换成 NaN。可分别使用这两种方法解析“10.2abc”这一字符串,并比较得到的结果,来理解这两种方法的区别
单元运算符 + 也可以把数字字符串转换成数值
Javascript1
2
3
4
5
6
7parseInt("123", 10); // 123
parseInt("010", 10); // 10
parseInt("11", 2); // 3
+ "42"; // 42
+ "010"; // 10
+ "0x10"; // 16
String
JavaScript 中的字符串是一串 Unicode 字符序列,是一串UTF-16编码单元的序列,每一个编码单元由一个 16 位二进制数表示。每一个Unicode字符由一个或两个编码单元来表示。这是我们第一次碰到 JavaScript 对象。我们有没有提过你可以像 object 一样使用字符串?是的,字符串也有 methods(方法)能让你操作字符串和获取字符串的信息。
Javascript1
2
3
4"hello".length; // 5
"hello".charAt(0); // "h"
"hello, world".replace("world", "mars"); // "hello, mars"
"hello".toUpperCase(); // "HELLO"
Boolean
Boolean对象是一个布尔值的对象包装器。
语法:new Boolean([value])
对于任何对象,即使是值为 false 的 Boolean 对象,当将其传给 Boolean 函数时,生成的 Boolean 对象的值都是 true。
Javascript1
2
3
4var myFalse = new Boolean(false); // false
var g = new Boolean(myFalse); // true
var myString = new String("Hello");
var s = new Boolean(myString); // true注意不要将基本类型中的布尔值 true 和 false 与值为 true 和 false 的 Boolean 对象弄混了。
Javascript1
2
3
4
5
6
7
8
9var x = new Boolean(false);
if (x) {
// 这里的代码会被执行
}
var x = false;
if (x) {
// 这里的代码不会执行
}
null
特指对象的值未设置。它是 JavaScript 基本类型 之一,在布尔运算中被认为是falsy。Javascript1
2
3
4
5null === undefined // false
null == undefined // true
null === null // true
null == null // true
!null //trueundefined
全局属性undefined
表示原始值undefined
。它是一个JavaScript的 原始数据类型 。- 一个函数如果没有使用return语句指定返回值,就会返回一个
undefined
值。
- 一个函数如果没有使用return语句指定返回值,就会返回一个
变量声明
在 JavaScript 中声明一个新变量的方法是使用关键字 let
、const
和 var
:
let
声明一个块级作用域的本地变量,并且可选的将其初始化为一个值Javascript1
2let a;
let name = 'Simon';const
允许声明一个不可变的常量。这个常量在定义域内总是可见的Javascript1
2const Pi = 3.14; // 设置 Pi 的值
Pi = 1; // 将会抛出一个错误因为你改变了一个常量的值。var
最常见的声明变量的关键字。它没有其他两个关键字的种种限制。这是因为它是传统上在 JavaScript 声明变量的唯一方法。使用 var 声明的变量在它所声明的整个函数都是可见的。
运算符
由两个“=(等号)”组成的相等运算符有类型自适应的功能,具体例子如下:
1 | 123 == "123" // true |
如果在比较前不需要自动类型转换,应该使用由三个“=(等号)”组成的相等运算符:
1 | 1 === true; //false |
JavaScript 还支持 !=
和 !==
两种不等运算符,具体区别与两种相等运算符的区别类似。
控制结构
与C语言类似,JavaScript 也还包括其他两种重要的 for 循环:for...of
1 | for (let value of array) { |
和 for...in
:
1 | for (let property in object) { |