Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS闭包编译器-不要更改函数名_Javascript - Fatal编程技术网

Javascript JS闭包编译器-不要更改函数名

Javascript JS闭包编译器-不要更改函数名,javascript,Javascript,我使用压缩代码 我的JS文件*编辑:* 我的HTML代码 <div onclick="test_it" />test</div> 测试 我的问题是压缩器重命名了我的函数 当我在div上单击(压缩后),我得到错误“test_it not defined”。这很有意义,因为函数现在有了一个新的“短”名称 是否可以在高级模式下停用“重命名功能”功能? 还是有其他解决办法 提前谢谢 Peter解决方案是通过javascript绑定click事件: function test_


我使用压缩代码

我的JS文件*编辑:*

我的HTML代码

<div onclick="test_it" />test</div>
测试
我的问题是压缩器重命名了我的函数

当我在div上单击(压缩后),我得到错误“test_it not defined”。这很有意义,因为函数现在有了一个新的“短”名称

是否可以在高级模式下停用“重命名功能”功能? 还是有其他解决办法

提前谢谢

Peter

解决方案是通过javascript绑定click事件:

function test_it() {
    // some code
}
document.getElementById("test").onclick = test_it;
HTML:

测试

这样,编译器仍然会更改函数名(节省空间),但也会更改引用的名称->问题已解决。

您的函数中有错误。你有一个结束语
和一个
这不是必需的。应该是:

function test_it()
{
    // some code
}

现在,如果你使用简单模式,你不会有任何问题。但要小心,因为它可能会执行优化,若不使用,则会删除此函数。

非常感谢您的想法!请注意:为了使此解决方案能够工作,必须在HTML中的div之后包含脚本。这没有问题,因为出于客户端性能的考虑,您希望尽可能晚地在文档中添加脚本标记。
<div id="test">test</div>
function test_it()
{
    // some code
}