gpt4 book ai didi

删除任何简单语句后 JavaScript 崩溃

转载 作者:行者123 更新时间:2023-11-28 12:05:51 25 4
gpt4 key购买 nike

我正在开发一个简短的 JavaScript 程序,只有当我在特定位置注入(inject)任何简单的语句(例如 var asd;)时,该程序才能完美运行。该程序旨在演示一种简单的封装技术。

其他位置均无效。任何琐碎的陈述都有效。这不是 DOM 加载问题,因为我什至不处理 DOM。

有效版本:(警告,3 个警报) http://jsfiddle.net/bZUm6/3/

不工作的版本: http://jsfiddle.net/bZUm6/2/

请注意“var asd;”在第一个版本中。

有人可以告诉我为什么吗?我真的很感激。

最大

最佳答案

正是删除分号破坏了它。

即使你改变它也会起作用......

var asd;

简单来说就是这个...

;

原因是下一行代码以 ( 开头,它恰好用结束符 ) 包装了一个函数

这被解释为函数调用运算符,并尝试调用前面的表达式。

    MyApp.util.toXML = function(options, obj) {
// your code

return result.join("");
}

// var asd; // removing the semicolon

// |------seen as invoking the result of the previous expression and passing
// v the function as an argument.
(function(toXML) {

// your code

})(MyApp.util.toXML);
// ^---------------^ This is then attempting to invoke the return value
// of "toXML", which if it successfully returned, returned a String, which
// can't be invoked.

关于删除任何简单语句后 JavaScript 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10116122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com