javascript语言精髓与编程实践摘要

逻辑运算

一般语言中,逻辑运算与布尔元算是等义的,其运算元与目标类型都是布尔值。JavaScript当然支持这种纯布尔运算,不但如此,JavaScript还包括另外一种逻辑运算,它的表达式结果是不确定的。

只有“逻辑(||)和逻辑(&&)”两种运算能做这样的事。他们的使用方法与运算逻辑与基本的布尔运算一致,例如:

var str = 'hello';
var obj = {};

x = str || obj  //x = str
y = str && obj  //y = {}

这种运算的特别之处在于:运算符“||”与“&&”即不改变运算元的数据类型,也不强制运算结果的数据类型。除此之外,还有以下的两条特性:

  • 运算符会将运算元理解为布尔值,以进行布尔运算。
  • 运算过程是支持布尔短路的。

匿名函数调用解析

一:调用方式:

(1.function(2.){
    //todo
}(3.))

在该示例中,靠近1的为强制运算符(其作用返回调用结果),靠近2的为函数参数占位符,靠近3的为调用函数运算符。

二:调用方式:

(1.function(2.){
    //todo
})(3.);

在该示例中,靠近1的为强制运算符(起作用是返回函数自身),2和上面一样为函数参数的占位符,靠近3的为调用函数运算符。

详情请见2.4 P61.

相关推荐