<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<title>chap07</title>
<script>
function make_a_matcher(){
return /a/gi;
}
var x = make_a_matcher();
var y = make_a_matcher();
x.lastIndex = 10;
document.writeln('<div>x.global : '+x.global+'<div>');
document.writeln('<div>x.ignoreCase : '+x.ignoreCase+'<div>');
document.writeln('<div>x.lastIndex : '+x.lastIndex+'<div>');
document.writeln('<div>x.multiline : '+x.multiline+'<div>');
document.writeln('<div>x.source : '+x.source+'<div>');
document.writeln('<div>y.global : '+y.global+'<div>');
document.writeln('<div>y.ignoreCase : '+y.ignoreCase+'<div>');
document.writeln('<div>y.lastIndex : '+y.lastIndex+'<div>');
document.writeln('<div>y.multiline : '+y.multiline+'<div>');
document.writeln('<div>y.source : '+y.source+'<div>');
</script>
</head>
<body>
</body>
</html>
我正在學習由Douglas Crockford編寫的「JavaScript The Good Parts」的JavaScript。 他描述了由正則表達式文字創建的RegExp對象共享單個實例和上面的示例。由正則表達式文字創建的RegExp對象共享單個實例?
該書的結果是y.lastIndex : 10
。但我的結果是y.lastIndex : 0
。
如果你告訴我這個不同結果的確切原因,我將不勝感激。
我認爲Crockford的信息已過時。在現代瀏覽器中,您將獲得單獨的實例。 (試試看_console.log(x === y)_) – nnnnnn
你確定他不是在談論'RegExp'函數對象,它有一些在所有正則表達式實例中共享的屬性? –
非常感謝。 – user2952980