RegExp 直接量和对象的创建
就像字符串和数字一样,程序中每个取值相同的原始类型直接量均表示相同的值,这是显而易见的。程序运行时每次遇到对象直接量(初始化表达式)诸如{}和[]的时候都会创建新对象。比如,如果在循环体中写 var a = [],则每次遍历都会创建一个新的空数组。正则表达式直接量则与此不同,ECMAScript 3 规范规定,一个正则表达式直接量会在执行到它时转换为一个 RegExp 对象,同一段代码所表示正则表达式直接量的每次运算都返回同一个对象。ECMAScript 5 规范则做了相反的规定,同一段代码所表示的正则表达式直接量的每次运算都返回新对象。I E 一直都是按照 EC-MAScript 5 规范实现的,多数最新版本的浏览器也开始遵循 EC-MAScript 5,尽管目前该标准并未全面广泛推行。