日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js传参不是数字_js调用函数时传入的参数个数与函数定义时的参数个数不符时的操作...

發布時間:2023/12/9 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js传参不是数字_js调用函数时传入的参数个数与函数定义时的参数个数不符时的操作... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.在js中函數沒有重載的概念,如果聲明了多個重名的函數,不管函數的形參個數是否一樣,只有最有一個有效,其他的函數聲明都是無效的。比如說聲明了兩個函數fn(),第一次聲明時沒有形參,第二次聲明時形參有兩個,則在調用fn()時不管有沒有傳入參數,都是調用后聲明的那個函數。假如說調用時只傳入了1個參數,例如fn(1),則1會賦給函數的第一個形參,而第二個形參不會賦值,如果有用到,就會當undefined處理,可能會報錯。如果調用時傳入了3個參數,例如fn(1,2,3),則1會賦給第一個形參,2會賦給第二個形參,3是用不上的,但是不會報錯。

2.

函數調用測試,參數個數和函數聲明不一樣多

function needTwoPara(p1,p2){

var a=arguments;

var result='我是個需要2個參數的函數\n'

+'您輸入的參數的個數為:'+a.length+'\n'

for(var i=0, len = a.length; i < len; i++){

result=result+'第'+(i+1)+'個參數為:'+a[i]+'\n'

}

result+='以上是用arguments來獲得參數\n';

result+='下面用變量來獲得參數:\n';

result+='p1:'+p1+'\n';

result+='p2:'+p2+'\n';

alert(result);

}

onClick="JavaScript: needTwoPara('smallerpig');">

onClick="JavaScript: needTwoPara('smallerpig','小小豬');">

onClick="JavaScript: needTwoPara('smallerpig','小小豬','生命不息');">

onClick="JavaScript: needTwoPara('smallerpig','小小豬','生命不息','學習不止');">

點擊第一個按鈕的返回結果:

點擊第二個按鈕的返回結果:

點擊第三個按鈕的返回結果:

點擊第四個按鈕的返回結果:

理解原因:

ECMAScript函數的參數與大多數其他語言中的函數的參數有所不同。ECMAScript函數不介意傳遞進來多少個參數,也不在乎穿進來參數是什么數據類型。也就是是說,即便你定義的函數值接受兩個參數,在調用這個函數時也未必一定要是兩個參數。可以傳遞一個、三個甚至不傳遞參數,而解析器永遠不會有什么怨言。之所以會這樣,原因是ECMAScript中的參數在內部是用一個數組來運行的。函數接受到的永遠是這個數組,而不關心數組中包含哪些參數(如果有參數的話)。如果這個數組中不包含任何元素,無所謂;如果包含多個元素,也沒問題。實際上,在函數體內可以通過arguments對象來訪問這個參數數組,從而獲取傳遞給含糊的每一個參數。

總結

以上是生活随笔為你收集整理的js传参不是数字_js调用函数时传入的参数个数与函数定义时的参数个数不符时的操作...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。