我有点好奇为什么这不起作用
JavaScript的:
function evaluate(){
console.log(42);
}
HTML:
<a onclick="evaluate()">Click Me!</a>
在html端的某处评估保留关键字?
答案 0 :(得分:3)
“evaluate”不是保留关键字,但是当它在内联事件处理程序中使用时,它碰巧与文档的evaluate
函数碰撞(document
对象在处理程序中范围链之前 window
对象)。如果您不想更改您的函数名称,只需在它之前添加window
上下文,即
<a onclick="window.evaluate()">Click Me!</a>
答案 1 :(得分:3)
document.evaluate
,请参阅the reference in the MDN here。
答案 2 :(得分:3)
评估不是JavaScript中的reserved word,document.evaluate
用于评估XPath表达式。
如果你使用一种不那么突兀的方法来附加你的事件处理程序,你仍然可以命名你的函数evaluate
:
var evaluate = function (){
console.log(42);
}
document.addEventListener('click', evaluate, false);