[英]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 pragma甚至has.js集成來在優化(縮小)時禁用/啟用代碼片段。
不,Javascript沒有編譯,它被解釋。 因此,除非你傳遞非標准的Javascript,否則不可能有預處理指令 - 它可能不再是Javascript - 通過另一個實用程序編寫代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.