我是java的新手.
我想在java中使用类似debug_print_backtrace的东西.
我想打印当前堆栈跟踪到stdout或intellij想法日志窗口进行调试.
我以前在php中使用debug_print_backtrace来查找运行时的一些堆栈信息以进行调试.
为什么在js上做出这种糟糕的设计?是否有任何特殊原因设计这样的自动分号插入?
这是我的代码,它在chrome中的js中不起作用:
(function(){console.log("abc");})()
(function(){console.log("123");})();
Run Code Online (Sandbox Code Playgroud)
这是错误:
Uncaught TypeError: (intermediate value)(...) is not a function
Run Code Online (Sandbox Code Playgroud)
我知道这段代码的正确版本是:
(function(){console.log("abc");})();
(function(){console.log("123");})();
Run Code Online (Sandbox Code Playgroud)
我只是想知道为什么js语法设计得如此愚蠢.历史原因?
我也添加这个问题作为警告,每个人都尝试使用javascript的自动分号插入,请只需添加;它需要的任何地方,javascript的自动分号插入是垃圾.它没有像你期望的那样工作.
现有的答案对我来说太复杂了,所以我问一个新答案:
另一个看起来不错但不是工作案例2:
x=1
(function(){console.log("123");})()
Run Code Online (Sandbox Code Playgroud)