麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

Javascript基礎 函數“重載” 詳細介紹

2019-11-20 21:50:40
字體:
來源:轉載
供稿:網友

  Javascript不像其他編程語言一樣具有函數簽名(什么是函數簽名,簡單的說就是說函數的接受參數類型和參數個數,也有人認為返回類型也應該包括。具體概念大家可以到網上查詢)。

所以Javascript是不能像其他語言一樣實現方法名相同,參數個數不同…的這類重載的,不信你可以試試:

復制代碼 代碼如下:

         function show(){
             alert("1");
         }
         function show(num1){
             alert(num1);
         }

         window.onload=function(){
             show();
             show(2);
         }

斷點調試下,不帶參數的show方法是不會被執行的,它會被show(num1)方法給覆蓋掉。

那么Javascript中就不可以實現“重載”了么?答案是可以的,只是是另一種方式而已。對,就是利用arguments。

那么什么是arguments呢?在JS中它是一個特殊的屬性,它可以像數組一樣通過下標索引獲取參數的值(但它不是數組),通過length獲取參數個數:

復制代碼 代碼如下:

         function showParamsCount(){
             alert("參數個數:"+arguments.length);//輸出:參數個數:4
             alert("下標索引為3的參數:"+arguments[3]);//輸出: 下標索引為3的參數:你好
         }

         window.onload=function(){
             showParamsCount("Hello",4,5,"你好");
         }

還要知道的一點是JS中函數的命名參數不是必須的,所以要想知道調用時傳遞了多少個參數還是得通過arguments獲取參數。

下面就實現一個簡單的方法重載:

復制代碼 代碼如下:

         function showMessage(){
             if(arguments.length==1){
                 alert(arguments[0]);
             }else if( arguments.length==2){
                 alert(arguments[0]+"說:"+arguments[1]);
             }else{
                 return false;
             }
         }

         window.onload=function(){
             showMessage("Hi!");
             showMessage("張三","Hi 你妹");
         }

這樣JS的重載算是實現了。

在看js高級程序設計這本書的時候發現arguments的值與對應命名參數的值永遠同步,以前沒注意過這個問題

復制代碼 代碼如下:

         function showMessage(name,msg){
             arguments[1]="我可以改變msg的值";
             alert(name+"說:"+msg);//輸出:張三說:我可以改變msg的值
         }

         window.onload=function(){
             showMessage("張三","Hi 你妹");
         }

好吧關于js“重載”的基礎知識就這么些

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人免费网站在线观看 | 日本在线视频免费观看 | 日本在线播放一区二区三区 | 久草在线资源福利站 | 青青草免费观看 | 黄色网址在线免费播放 | 久久精品视频一区二区三区 | 人成免费a级毛片 | 福利在线播放 | 亚洲第一成网站 | 看免费一级毛片 | 亚洲一区在线免费视频 | 国产精品自拍av | 噜噜噜影院 | 视频一区二区视频 | 欧美一区二区三区不卡免费观看 | 狠狠干五月天 | av手机免费在线观看 | av国产在线被下药迷网站 | 国产精品午夜未成人免费观看 | av电影网站在线观看 | v11av在线视频成人 | 12av毛片 | 国产精品久久二区 | 伊人av影院 | 久草高清视频 | 国产午夜精品久久久久 | 黄污污网站 | 一级做人爱c黑人影片 | 久久伊人国产精品 | 激情综合在线观看 | 欧洲成人在线视频 | 欧美xxxxx视频 | 免费视频xxxx | 欧洲色阁中文字幕 | av影片在线观看 | 国产精品999在线观看 | 免费毛片a线观看 | 欧洲精品久久久 | 一区二区三区欧美在线观看 | 全黄性色大片 |