JS和Java是兩種不同的編程語言,但在實際開發(fā)過程中,它們經(jīng)常會被搞混或者被黑。下面是幾個比較有意思的JS和Java的梗。
// JS中的真假之判斷 if ([] == false){ console.log('這個if語句會被執(zhí)行') } if ({} == false){ console.log('這個if語句也會被執(zhí)行') } // Java中的真假之判斷 if (true == false){ System.out.println("你有病吧") } else if (true == true){ System.out.println("厲害了我的哥") }
上面這段代碼展示了JS和Java中真假之判斷的不同。在JS中,[]和{}都等于false,因此if語句會被執(zhí)行;而在Java中只有true才等于true,因此if語句會輸出“厲害了我的哥”。
// JS中的函數(shù)調(diào)用 function sayHello(name){ console.log('hello ' + name) } sayHello('World') // Java中的函數(shù)調(diào)用 public static void main(String[] args){ System.out.println("hello World"); }
上面這段代碼展示了JS和Java中函數(shù)調(diào)用的不同。在JS中,函數(shù)調(diào)用直接寫函數(shù)名加括號;而在Java中需要先聲明函數(shù)的類型、名稱和參數(shù),然后才能進行調(diào)用。
// JS中的變量作用域 function scopeTest(){ var a = "hello"; if (true){ var a = "world"; } console.log(a); } scopeTest(); // Java中的變量作用域 public static void main(String[] args){ String a = "hello"; if (true){ String a = "world"; } System.out.println(a); }
上面這段代碼展示了JS和Java中變量作用域的不同。在JS中,使用var聲明的變量具有函數(shù)作用域,因此if語句中聲明的變量a會覆蓋函數(shù)中的變量a;而在Java中,使用{}塊聲明的變量只在該塊內(nèi)有效,因此if語句中聲明的變量a不會覆蓋main函數(shù)中的變量a。