なぜこれがうまくいかないのか、私はちょっと興味があります
JavaScript:
function evaluate(){
console.log(42);
}
HTML:
<a onclick="evaluate()">Click Me!</a>
html側のどこかに予約されたキーワードを評価していますか?
なぜこれがうまくいかないのか、私はちょっと興味があります
JavaScript:
function evaluate(){
console.log(42);
}
HTML:
<a onclick="evaluate()">Click Me!</a>
html側のどこかに予約されたキーワードを評価していますか?
document.evaluate
XMLの解析に必要です。MDNのリファレンスを参照してください。
EvaluateはJavaScriptの予約語ではなく、 XPath式document.evaluate
を評価するために使用されます。
evaluate
イベントハンドラーをアタッチするための目立たない方法を使用した場合でも、関数に名前を付けることができます。
var evaluate = function (){
console.log(42);
}
document.addEventListener('click', evaluate, false);
"evaluate" は予約済みのキーワードではありませんが、インラインevaluate
イベント ハンドラーで使用すると、たまたまドキュメントの関数と衝突します(オブジェクトはオブジェクトの前にdocument
ハンドラーのスコープ チェーン内にあります)。関数名を変更したくない場合は、その前にコンテキストを追加してください。window
window
<a onclick="window.evaluate()">Click Me!</a>