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

本文深入探讨了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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值