34、JavaScript 高级特性与服务器端应用

JavaScript 高级特性与服务器端应用

1. 生成器表达式与数组推导式

在 JavaScript 中,使用生成器表达式而非数组推导式有诸多好处。生成器表达式具有惰性求值的特性,即计算是按需进行的,而非一次性完成,并且可以处理潜在的无限序列。不过,与数组相比,生成器的缺点是只能按顺序访问其值,不能进行随机访问。也就是说,生成器不像数组那样可以通过索引直接获取元素,要获取第 n 个值,必须先遍历前面的 n - 1 个值。

以下是一个自定义的 map() 生成器函数示例:

function map(i, f) { // A generator that yields f(x) for each element of i
    for(let x in i) yield f(x);
}

使用生成器表达式可以避免编写或使用上述 map() 函数。例如,要获得一个新的生成器 h ,使其为生成器 g 产生的每个 x 生成 f(x) ,可以这样写:

let h = (f(x) for (x in g));

结合 eachline() 生成器,可以对文本进行处理,去除空白并过滤掉注释和空行:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值