国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

JS中的arguments

2024-04-27 15:05:18
字體:
來源:轉載
供稿:網友

最近在看一些關于前端的練習題,遇到一個無從下手的,還是因為學識不精,懂的太少,但經過一番查找,最終還是解決了,這是牛客網上的一個真題,題目如下: 這里寫圖片描述

看到題目要求,傳入參數個數不定,就有點犯怵,還沒在js中見過有什么方法可以獲取個數不定的參數,因此就漲姿勢了。。。


一. arguments的特性: (1)arguments是個類似數組但不是數組的對象,說他類似數組是因為其具備數組相同的訪問性質及方式,能夠由arguments[n]來訪問對應的單個參數的值,并擁有數組長度屬性arguments.length,還有引用函數自身arguments.callee(); (2)arguments對象存儲的是實際傳遞給函數的參數,而不局限于函數聲明所定義的參數列表; (3)argument和Function是分不開的,必須在函數體內部使用,不能顯式創建 arguments 對象。

二. arguments的功能 學過java的同學都知道,在java中有方法的重載,即兩個方法名相同的方法,可以通過參數個數不同來編寫不同的方法,但是在js中并沒有重載功能,但是通過arguments可以模擬重載。

三. 使用方法 (1)實現和數組一樣的下標調用:

<script type="text/Javascript"> console.log(add(1,2,3)); console.log(add(1, 2, 3, 4, 5)); function add() { var sum = 0; for (var i = 0; i < arguments.length; i++) sum += arguments[i]; return sum; }</script> /*結果為6和15*/

2.模擬方法的重載

<script type="text/javascript"> console.log(sum(1,2,3)); console.log(sum(1, 2)); function sum() { if (arguments.length == 2) return arguments[0] * arguments[1]; else return arguments[0] + arguments[1] + arguments[2]; }</script>/*兩個參數求積,三個參數求和,結果為6和2*/

3.函數自身的調用,相當于遞歸

<script type="text/javascript"> console.log(sum(6)); function sum(n) { if (n == 1) return 1; else return n + arguments.callee(n-1); }</script>/*實現函數自身的調用,求得1到6的整數之和,結果為21*/

4.改變參數值

<script type="text/javascript"> console.log(sum(1,2,3)); function sum(a,b,c) { var sum = 0; arguments = "I am a student"; for (var i = 0; i < arguments.length; i++) sum = sum + arguments[i]; return sum; }</script>/*輸出結果為0I am a student*/

知道這些,一開始的題肯定就有答案了,代碼如下:

<script type="text/javascript"> console.log(mySort(50,11,16,32,24,99,57,100)); function mySort() { var tags = new Array(); for (var i = 0; i < arguments.length; i++) tags.push(arguments[i]); tags = tags.sort(function(a,b){ return a - b; }); return tags; }</script>/*注意不能使用Array數組自帶的sort()方法,因為sort并不是對數字大小排序的函數*/

謹記,時刻都要有一顆求知的心


上一篇:html 基礎

下一篇:jquery綁定事件

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐乡市| 哈尔滨市| 胶州市| 高平市| 山东| 志丹县| 柘荣县| 三原县| 柞水县| 德钦县| 紫阳县| 南郑县| 巴东县| 黄梅县| 钟祥市| 桦川县| 合阳县| 辛集市| 寿光市| 新巴尔虎右旗| 张掖市| 大新县| 康乐县| 玛沁县| 永德县| 连平县| 惠水县| 郸城县| 浮山县| 四会市| 长乐市| 东台市| 岳普湖县| 搜索| 鹤山市| 塔城市| 静乐县| 奈曼旗| 平潭县| 尉犁县| 张家界市|