我在HTML文件中的以下代碼:爲什麼要調用這個函數?的JavaScript /窗口
<script type="text/javascript">
window.never = function() {
console.log('this function is never called');
}
(function(d, s, id){
var js, srjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "this.script.does.not.exist.js";
srjs.parentNode.insertBefore(js, srjs);
}(document, 'script', 'streamrail-jssdk'));
</script>
見琴:http://jsfiddle.net/sebvaeja/
查看控制檯,你可以看到,window.never
功能實際上是所謂的('這個功能是從來沒有所謂'寫入控制檯)。當使用Chrome開發工具調試時,我在調用堆棧中看到調用者是關閉的(第一行:http://jsfiddle.net/sebvaeja/
)。
如果我改變從來功能要關閉全球範圍內:
function never() {
console.log('this function is never called');
}
那麼它是不被調用。
有人可以請解釋爲什麼window.never函數被調用?什麼觸發了呼叫?我想這與窗口對象上的函數有關,但我無法看到背後的推理。
簡而言之,你有一個語法錯誤。 :) – isherwood
這也是一個重複,但我找不到它。 –
'var log = function(){console。日誌('這個函數被稱爲'); }(42)' –