java中的對(duì)象 JS在同一個(gè)函數(shù)里面,如果有兩個(gè)for循環(huán),兩個(gè)循環(huán)里面分別定義了2個(gè)同名的局部變量,會(huì)起沖突嗎?
JS在同一個(gè)函數(shù)里面,如果有兩個(gè)for循環(huán),兩個(gè)循環(huán)里面分別定義了2個(gè)同名的局部變量,會(huì)起沖突嗎?通常沒有沖突,因?yàn)槟谙旅娴恼Z句中使用VaR,這相當(dāng)于重新定義變量。但是,如果前一個(gè)for循環(huán)的執(zhí)行效
JS在同一個(gè)函數(shù)里面,如果有兩個(gè)for循環(huán),兩個(gè)循環(huán)里面分別定義了2個(gè)同名的局部變量,會(huì)起沖突嗎?
通常沒有沖突,因?yàn)槟谙旅娴恼Z句中使用VaR,這相當(dāng)于重新定義變量。但是,如果前一個(gè)for循環(huán)的執(zhí)行效率很低,則循環(huán)體可能會(huì)在執(zhí)行完成之前進(jìn)入下一個(gè)for循環(huán),并且可能會(huì)發(fā)生沖突。最好的解決方案是:1)更改變量的名稱;2)確保for循環(huán)的執(zhí)行是立即的;否則,使用回調(diào)方法(因?yàn)閒or循環(huán)快,比內(nèi)部代碼塊的執(zhí)行快)。
為什么類的定義應(yīng)當(dāng)寫在頭文件中?
因?yàn)樗裱粋€(gè)定義規(guī)則(ODR)。根據(jù)這個(gè)規(guī)則,如果同一類的兩個(gè)定義是相同的,并且出現(xiàn)在不同的編譯單元中,它們將被視為同一個(gè)定義。這里,頭文件由兩個(gè)不同的編譯單元(file1)包含。CPP,文件2。CPP),符合ODR規(guī)則,將被視為相同的定義。所以不會(huì)有沖突。此外,此規(guī)則適用于模板和內(nèi)聯(lián)函數(shù)。