通过基本运算符可以方便的操作数据的值
Example 2.5. 连接字符串
var foo = 'hello'; var bar = 'world'; console.log(foo + ' ' + bar); // 'hello world'
Example 2.7. 自加和自减
var i = 1; var j = ++i; // 自加运算符在i之前: j 等于 2; i 等于 2 var k = i++; // 自加运算符在i之后: k 等于 2; i 等于 3
在javascript中,对数字和字符串的操作,偶尔会得到意料之外的结果
上例中,当Number对象的构造函数作为一个函数被调用的时候,它会把传入的参数自动转换成数字。除了这种方法,你还可以使用一元运算符+进行强制类型转换,如下例所示。
逻辑运算符使用and和or对操作数进行逻辑判断
Example 2.11. 逻辑与和逻辑或操作符
var foo = 1; var bar = 0; var baz = 2; foo || bar; // 返回1,也就是返回true,判断结果为真。 bar || foo; // 返回1。 foo && bar; // 返回0,也就是返回false,判断结果为假。 foo && baz; // 返回baz的,返回值为2,判断结果为真。 baz && foo; // 返回1,判断结果为真。
也许无法从例子中清晰的反应出来,其中或运算符( ||
)
返回第一个值为真的操作数, 如果两个操作数的值都为假,则返回最后一个操作数。
类似的,与运算符( &&
) 返回第一个值为假的运算符,如果两个操作数的值都为真,则返回最后一个操作数
跳到the section called “真与假” 查看更多关于什么时候判断运算结果为true
和什么时候判断运算结果为
false
的资料。
你有的时候会看到开发者使用以下语句代替if进行流程控制
// 当foo的值为真的时候执行doSomething来处理foo foo && doSomething(foo); // 如果baz为真,则把baz的值赋给bar // 否则bar的值为函数craetBar的返回值 var bar = baz || createBar();
这种风格的代码非常的简洁和优雅,但是同时,特别对于初学者而言,往往晦涩难懂。把它放在这里是希望当你在阅读到这类代码的时候可以读懂。但是如果你还不能够理解它的本质,且没有熟练掌握的话,我们不建议你使用此类代码
比较运算符用来判断两个操作数是否相等
Example 2.12. 比较运算符
var foo = 1;
var bar = 0;
var baz = '1';
var bim = 2;
foo == bar; // 返回false,返回假。
foo != bar; // 返回true,返回真。
foo == baz; 返回真,(注意!)
foo === baz; // 返回false
foo !== baz; // 返回true
foo === parseInt(baz); // 返回true
foo > bim; // 返回false
bim > baz; // 返回true
foo <= baz; // 返回true
Copyright Rebecca Murphey, released under the Creative Commons Attribution-Share Alike 3.0 United States license.