3 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
是什么使它成為事件對(duì)象而不是像浮點(diǎn)整數(shù)這樣的其他類型..?
沒有什么。你沒有理由不能寫:
loadFile(42);
在這種情況下,event
該呼叫中將是號(hào)碼42
,而不是事件。
event
在調(diào)用期間唯一生成事件對(duì)象的loadFile
是調(diào)用它的代碼。例如,如果它作為事件處理程序連接到 DOM 元素,則瀏覽器中的 DOM 事件處理代碼將使用事件對(duì)象作為第一個(gè)參數(shù)來調(diào)用該處理程序。
如果你想在代碼中強(qiáng)制執(zhí)行類型安全,你需要 JavaScript 以外的東西,例如 TypeScript(編譯為 JavaScript)、Flow、JSDoc+IDE 支持等。這些都在 JavaScript 之上構(gòu)建了一個(gè)靜態(tài)類型系統(tǒng),這可以幫助你當(dāng)一個(gè)函數(shù)需要(比如說)一個(gè)事件對(duì)象但你卻用一個(gè)數(shù)字來調(diào)用它時(shí),你會(huì)發(fā)現(xiàn)錯(cuò)誤。

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊
我認(rèn)為這是因?yàn)?JavaScript 是弱類型的。它只是檢查參數(shù)是否具有運(yùn)行該函數(shù)所需的屬性,并且它會(huì)盡其所能地執(zhí)行此操作,并且通常會(huì)出現(xiàn)錯(cuò)誤而不是錯(cuò)誤。所以請(qǐng)使用 TypeScript 來代替,哈哈。

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
Javascript 不強(qiáng)制任何類型。作為程序員,您需要知道您的函數(shù)將獲得什么類型。您可以隨時(shí)檢查參數(shù)使用的類型,typeof
以確保它符合您的期望。
添加回答
舉報(bào)