上QQ阅读APP看书,第一时间看更新
1.3.2 运算符
在编程语言里执行任何运算都需要运算符。在JavaScript里有算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、一元运算符和其他运算符。我们来看一下这些运算符。
var num = 0; // {1} num = num + 2; num = num * 3; num = num / 2; num++; num--; num += 1; // {2} num -= 2; num *= 3; num /= 2; num %= 3; console.log('num == 1 : ' + (num == 1)); // {3} console.log('num === 1 : ' + (num === 1)); console.log('num ! = 1 : ' + (num ! = 1)); console.log('num > 1 : ' + (num > 1)); console.log('num < 1 : ' + (num < 1)); console.log('num >= 1 : ' + (num >= 1)); console.log('num <= 1 : ' + (num <= 1)); console.log('true && false : ' + (true && false)); // {4} console.log('true || false : ' + (true || false)); console.log('! true : ' + (! true));
在行{1},我们用了算术运算符。下表列出了这些运算符及其描述。
在行{2},我们使用了赋值运算符。下表列出了赋值运算符及其描述。
在行{3},我们使用了比较运算符。下表列出了比较运算符及其描述。
在行{4},我们使用了逻辑运算符。下表列出了逻辑运算符及其描述。
JavaScript也支持位运算符,如下所示。
console.log('5 & 1:', (5 & 1)); console.log('5 | 1:', (5 | 1)); console.log('~5:', (~5)); console.log('5 ^ 1:', (5 ^ 1)); console.log('5 << 1:', (5 << 1)); console.log('5 >> 1:', (5 >> 1));
下表对位运算符做了更详细的描述。
typeof运算符可以返回变量或表达式的类型。我们看下面的代码。
console.log('typeof num:', typeof num); console.log('typeof Packt:', typeof 'Packt'); console.log('typeof true:', typeof true); console.log('typeof [1,2,3]:', typeof [1,2,3]); console.log('typeof {name:John}:', typeof {name:'John'});
输出如下。
typeof num: number typeof Packt: string typeof true: boolean typeof [1,2,3]: object typeof {name:John}: object
根据标准,在JavaScript中有两种数据类型。
❑ 原始数据类型:null、undefined、字符串、数、布尔值和Symbol。
❑ 派生数据类型/对象:JavaScript对象,包括函数、数组和正则表达式。
JavaScript还支持delete运算符,可以删除对象里的属性。看看下面的代码。
var myObj = {name: 'John', age: 21};
delete myObj.age;
console.log(myObj); // 输出对象{name: "John"}
这些运算符在后面的算法学习中可能会用到。