预处理Emulator for JavaScript(定时/调试示例)
Pre-processing Emulator for JavaScript ( Timing / Debug Example )
在C++中,您可以通过使用预处理指令来省略编译调试代码,以保持编译代码的快速性,而不会受到生产中不需要的调试代码的阻碍。
在JavaScript中有相关的方法吗?我过去一直在做的是注释调试代码,但我想要一种更干净的方式来做
下面的示例显示了如果debug设置为true则激活的4个if语句。然而,在生产中,当我知道它将被设置为false时,我不希望检查4次。正如我提到的,我可以把它塞进一行,然后评论出来。。。但我想要一个干净的方式?
/**
** cType
*/
function cType( o_p ) {
if( debug ) {
var t1, t2, t3, t4, i1, i2, i3; t1 = new Date().getTime();
}
o_p = MType[ o_p.model ].pre( o_p );
if ( o_p.result !== 'complete' ) {
if( debug ) {
t2 = new Date().getTime();
console.log( '---------------Send to Server - object_pipe: 'n ' + o_p.toSource() );
}
var string_pipe = JSON.stringify( o_p );
cMachine( 'pipe=' + string_pipe , function( string_pipe ) {
if( debug ) {
console.log( '---------------Receive from Server - object_pipe: 'n ' + string_pipe );
t3 = new Date().getTime();
}
MType[ o_p.model ].post( JSON.parse( string_pipe ) );
if( debug ) {
t4 = new Date().getTime(); i1 = t2-t1 ; i2 = t3-t2 ; i3 = t4-t3;
console.log( '---------------Pre, Transit, Post = ', i1, i2, i3 );
}
} );
}
}
您总是可以通过c预处理器来传递它,比如:
gcc -E input.js -o output.js
这将允许您使用#if,甚至包括和宏。
如果您使用RequireJS,您可以使用build pragmas甚至has.js集成来在优化(缩小)时禁用/启用代码片段。
否,Javascript不是编译的,而是解释的。因此,除非您通过另一个实用程序传递非标准的Javascript(可能不再是Javascript)代码,否则不可能有预处理指令。
相关文章:
- 如何在vs2002中调试html页面
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 绑定时将Parsley minlength消息作为选项传递时,未对其进行自定义
- 如何在visualstudio中调试web api时编辑javascript文件
- 我是否可以检测到javascript正在被卸载(作为调试模式)
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 如何调试Javascript代码或函数
- 基于Web的JS调试库
- 调试此代码?警报不起作用
- 定时Ajax进程在用户离开页面后继续
- 将菜单项与滚动绑定时出现Jquery错误
- 定时循环,使用Javascript在2个循环之间间隔x秒
- 定时循环,间隔10秒
- 如何在 JavaScript 代码中调试点击事件处理
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 如何在php/javascript中制作定时器和警报
- AngularJS依赖注入定时问题
- 使用Browserify和Typescript的源映射进行Webstorm调试
- 预处理Emulator for JavaScript(定时/调试示例)
- JQuery插件-重定向定时器调试