javascript函數(shù)中參數(shù)傳遞問題示例探討
相信每一位剛接觸javascript的同學在函數(shù)參數(shù)傳遞上都會很疑惑,原因無他,那就是它的語法太怪異了,你定義一個函數(shù)
例如
function test(name,msg){ return 'hello' + name + msg; }
那么你在調(diào)用的時候怎么調(diào)呢,你可以test('Eric'),test('Eric','welcome to javascript')甚至你可以給它傳遞任意多個參數(shù),并且類型隨意.這是多么爽的一件事情,學過c++/c#或者java的同學可能就會想到函數(shù)重載。但是,我要告訴你的是,javascript中不存在函數(shù)重載,如果你定義了兩個同名函數(shù),那么先定義的函數(shù)將被后定義的覆蓋,意思便是你想要的結(jié)果只能從后定義的函數(shù)中得到。
好了,言歸正傳,為什么javascript的函數(shù)傳遞可以這么隨意呢,那我們就先來看看傳過來的參數(shù)都存到哪里吧。實際上,在它的內(nèi)部實現(xiàn)中,所有傳過來的參數(shù)都存在一個數(shù)組中。函數(shù)接收到的始終是這個數(shù)組,而不關(guān)心這個數(shù)組包含了哪些參數(shù)?,F(xiàn)在就好理解了,我們定義了一個函數(shù),調(diào)用的時候參數(shù)可以隨便傳,你傳多少它都給你加入數(shù)組中,如果不傳,那么你的形參全部都是‘undefined',這并不會有什么語法錯誤,但是語義上就不好說了。
好了,,,,,,,,第一次寫博客,小弟不才,讓各位見笑了,希望這篇博文能對你有些許幫助。。。。
I LOVE YOU,GUYS!
- JavaScript函數(shù)的調(diào)用以及參數(shù)傳遞
- JS中把函數(shù)作為另一函數(shù)的參數(shù)傳遞方法(總結(jié))
- javascript自定義函數(shù)參數(shù)傳遞為字符串格式
- JavaScript函數(shù)參數(shù)的傳遞方式詳解
- js的函數(shù)的按值傳遞參數(shù)(實例講解)
- javascript arguments 傳遞給函數(shù)的隱含參數(shù)
- JS函數(shù)動態(tài)傳遞參數(shù)的方法分析【基于arguments對象】
- 通過實例了解js函數(shù)中參數(shù)的傳遞
- 淺談JavaScript 函數(shù)參數(shù)傳遞到底是值傳遞還是引用傳遞
- js中對函數(shù)設置默認參數(shù)值的3種方法
- 深入理解JavaScript函數(shù)參數(shù)(推薦)
- JS函數(shù)參數(shù)的傳遞與同名參數(shù)實例分析
相關(guān)文章
理解 JavaScript Scoping & Hoisting(二)
這篇文章主要介紹了理解 JavaScript Scoping & Hoisting,盡管對于有經(jīng)驗的程序員來說這只是小菜一碟,不過我還是順著初學者常見的思路做一番描述2015-11-11TypeScript中declare關(guān)鍵字的具體使用
declare關(guān)鍵字用來告訴編譯器,某個類型是存在的,可以在當前文件中使用,本文主要介紹了TypeScript中declare關(guān)鍵字的具體使用,感興趣的可以了解一下2023-10-10JavaScript實現(xiàn)簡單的文本逐字打印效果示例
這篇文章主要介紹了JavaScript實現(xiàn)簡單的文本逐字打印效果,涉及javascript結(jié)合時間函數(shù)動態(tài)操作頁面元素相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-04-04javascript設計模式 – 訪問者模式原理與用法實例分析
這篇文章主要介紹了javascript設計模式 – 訪問者模式,結(jié)合實例形式分析了javascript訪問者模式基本概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04