/*=== false 10 0 true 10 10 ===*/ /* "new RegExp(re)" where 're' is a RegExp does NOT return the object * as is, but instead creates a "clone" with the same pattern and * flags. lastIndex is initialized to zero. * * "RegExp(re)" does return the same object. */ try { var re1 = /foo/g; var re2; re1.lastIndex = 10; re2 = new RegExp(re1); print(re1 === re2, re1.lastIndex, re2.lastIndex); re1.lastIndex = 10; re2 = RegExp(re1); print(re1 === re2, re1.lastIndex, re2.lastIndex); } catch (e) { print(e); }