首页 > javascript语言精粹

javascript语言精粹


来自语言精粹,xy是一个对象?个人感觉这是俩个完全不同的对象啊


抱歉,刚开始理解错了。我敲了一遍,是两个不同的对象,false。

function make_a_matcher () {
    return /a/gi;
}


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

x.index = 10;
console.log(y.index);   // undefined
console.log(x === y);   // false 

我去查了下javascript高级程序设计。在ES3中正则表达式字面量共享一个实例,ES5改了过来。在中文版第三版104,105页,原文如下。

在ECMAScript 3中,正则表达式字面量始终会共享同一个RegExp实例,而使用构造函数创建的每一个新RegExp实例都是一个新实例。
...
ECMAScript 5明确规定,使用正则表达式字面量必须像直接调用RegExp构造函数一样,每次都创建新的RegExp实例。


就给的这些信息,确实是不同的对象。。:( 能说下所在页数吗?


这是老版本相同的正则直接量不会重复创建的问题吗

【热门文章】
【热门文章】