“2011年5月”的存档

2011.0511
正则表达式字面量在ECMAScript5中的变化

《JavaScript语言精粹》的第72页有这样一段:

用正则表达式字面量创建的RegExp对象来共享同一个单实例:
function make_a_matcher(  ) {
    return /a/gi;
}

var x = make_a_matcher(  );
var y = make_a_matcher(  );

// 注意:x 和 y 是同一个对象!

x.lastIndex = 10;

document.writeln(y.lastIndex);    // 10

当你在浏览器中运行这段代码时,你会发现IE6-IE9、FireFox4、Chrome10、Safari5输出都是0,Firefox 3.6.16输出是10,原因可以在ECMAScript5规范第24页和第247页找到:

阅读全文 »

在23:48发表于Javascript & DOM & AJAX,有评论3

回到页眉