我已将所有函数包装在一个立即调用的函数表达式中,如下所示:
(function(){
"use strict";
function toggleComment(parentCommentID) {
$("form#" + parentCommentID).toggle();
}
function scrollBottom() {
window.scrollTo(0, document.body.scrollHeight);
}
})();
Run Code Online (Sandbox Code Playgroud)
但是,在通过链接调用其中一个函数时:
<a href="javascript:void(0)" onclick="toggleComment(159); return false;">Reply</a>
Run Code Online (Sandbox Code Playgroud)
Chrome控制台输出Uncaught ReferenceError: toggleComment is not defined.我是否错误地认为应该立即调用一个立即调用的函数表达式,因此toggleComment应该调用它?我应该以不同方式调用该功能吗
该功能toggleComment不可见.它包含在你正在使用的就绪功能中; 如果你想能够像这样调用它(在大多数情况下不推荐),你必须将它提升到该函数之外并使其可以全局访问.
而这与此无关strict.如果删除该strict行,此问题仍将是相同的.
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |