Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 亚洲国产99在线精品一区二区,国产在线视频在线,国产日韩精品一区在线不卡

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          JavaScript 里三個點 ...,可不是省略號

          JavaScript 里三個點 ...,可不是省略號啊···

          文分享自華為云社區《JavaScript 里三個點 ... 的用法-云社區-華為云》,作者: Jerry Wang 。

          靜止參數

          使用 rest 參數,我們可以將任意數量的參數收集到一個數組中,然后用它們做我們想做的事情。引入了其余參數以減少由參數引起的樣板代碼。

          function myFunc(a, b, ...args) {
          
          console.log(a); // 22
          
          console.log(b); // 98
          
          console.log(args); // [43, 3, 26]
          
          };
          
          myFunc(22, 98, 43, 3, 26);

          在 myFunc 的最后一個以 ...為前綴的參數中,這將導致所有剩余的參數都放在 javascript 數組中。

          rest 參數收集所有剩余的參數,因此在最后一個參數之前添加 rest 參數是沒有意義的。其余參數必須是最后一個形參。

          rest 參數可以解構(僅限數組),這意味著它們的數據可以解包為不同的變量。

          function myFunc(...[x, y, z]) {
          
          return x * y* z;
          
          }
          
          myFunc(1) // NaN
          
          myFunc(1, 2, 3) // 6
          
          myFunc(1, 2, 3, 4) // 6 (fourth parameter is not destructured)

          點差運算符

          展開運算符用于將可迭代對象(如數組)的元素擴展到可以容納多個元素的位置。

          function myFunc(x, y, ...params) { // used rest operator here
          
          console.log(x);
          
          console.log(y);
          
          console.log(params);
          
          }
          
          var inputs=["a", "b", "c", "d", "e", "f"];
          
          myFunc(...inputs); // used spread operator here
          
          // "a"
          
          // "b"
          
          // ["c", "d", "e", "f"]

          一直有多種組合數組的方法,但是擴展運算符提供了一種用于組合數組的新方法:

          const featured=['Deep Dish', 'Pepperoni', 'Hawaiian'];
          
          const specialty=['Meatzza', 'Spicy Mama', 'Margherita'];
          
          const pizzas=[...featured, 'veg pizza', ...specialty];
          
          console.log(pizzas); // 'Deep Dish', 'Pepperoni', 'Hawaiian', 'veg pizza', 'Meatzza', 'Spicy Mama', 'Margherita'

          使用擴展運算符,現在可以使用比 Object.assign() 更短的語法進行淺克隆(不包括原型)或合并對象。

          var obj1={ foo: 'bar', x: 42 };
          
          var obj2={ foo: 'baz', y: 13 };
          
          var clonedObj={ ...obj1 };
          
          // Object { foo: "bar", x: 42 }
          
          var mergedObj={ ...obj1, ...obj2 };
          
          // Object { foo: "baz", x: 42, y: 13 }

          總結

          當我們在代碼中看到三個點 (...) 時,它要么是 rest 參數,要么是展開運算符。

          有一個簡單的方法來區分它們:

          • 當三個點 (...) 位于函數參數的末尾時,它是“rest 參數”并將參數列表的其余部分收集到一個數組中。
          • 當三個點 (...) 出現在函數調用或類似函數中時,它被稱為“擴展運算符”并將數組擴展為 list.

          點擊下方關注,第一時間了解華為云新鮮技術~

          華為云博客_大數據博客_AI博客_云計算博客_開發者中心-華為云

          個點(...)是擴展運算符,是ES6語法,它可以在函數調用/數組構造時,將數組表達式或者string在語法層面展開;還可以在構造字面量對象時將對象表達式按照key-value的方式展開。說白了就是把數組中大括號([])、對象中花括號({})去掉!

          //數組
          var nums=[1, 2, 3, 4, 5]
          console.log(...nums) 
          //1 2 3 4 5
          
          //對象
          var person={ name: 'A', age: 30 }
          console.log({ ...person }) 
          // {name:'A',age:30}

          它有什么用呢?

          • 數組或對象的復制
          //數組的復制
          var arr1=['hello']
          var arr2=[...arr1]
          console.log(arr2) 
          // ['hello']
          
          //對象的復制
          var obj1={ name: 'A' }
          var obj2={ ...obj1 }
          console.log(obj2) 
          // {name:'A'}
          • 數組或對象合并
          //數組的合并
          var arr1=['hello']
          var arr2=['world']
          var mergeArr=[...arr1, ...arr2]
          console.log(mergeArr)
          // ['hello','world']
          
          // 對象合并
          var obj1={ name: 'A' }
          var obj2={ age: 30 }
          var mergeObj={ ...obj1, ...obj2 }
          console.log(mergeObj) 
          // {name: "A", age: 30}
          • 字符轉數組用它

          、頁面內跳轉的錨點設置

          頁面內的跳轉需要兩步:

          方法一:

          ①:設置一個錨點鏈接<a href="#miao">去找喵星人</a>;(注意:href屬性的屬性值最前面要加#)

          ②:在頁面中需要的位置設置錨點<a name="miao"></a>;(注意:a標簽中要寫一個name屬性,屬性值要與①中的href的屬性值一樣,不加#)標簽中按需填寫必要的文字,一般不寫內容

          方法二:

          ①:同方法一的①

          ②:設置錨點的位置 <h3 id="miao">喵星人基地</h3>;在要跳轉到的位置的標簽中添加一個id屬性,屬性值與①中href的屬性值一樣,不加#

          方法二不用單獨添加一個a標簽來專門設置錨點 ,只在需要的位置的標簽中添加一個id即可。

          小案例:

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

          <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

          <head>

          <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

          <title>萌寵集結號</title>

          </head>

          <body>

          <ul>

          <li><a href="#miao">去找喵星人</a></li>

          <li><a href="#wang">去找汪星人</a></li>

          <li><a href="#meng">其他萌物</a></li>

          </ul>

          <a name="miao"></a><!--設置錨點方法1-->

          <h3 id="miao">喵星人基地</h3><!--設置錨點方法2-->

          <p>喵喵喵~</p>

          <p>喵喵喵~</p>

          <p>喵喵喵~</p>

          <p>喵喵喵~</p>

          <p>喵喵喵~</p>

          <p>喵喵喵~</p>

          <a name="wang"></a>

          <p>汪汪汪~</p>

          <p>汪汪汪~</p>

          <p>汪汪汪~</p>

          <p>汪汪汪~</p>

          <p>汪汪汪~</p>

          <p>汪汪汪~</p>

          <a name="meng"></a>

          <p>萌萌萌~</p>

          <p>萌萌萌~</p>

          <p>萌萌萌~</p>

          <p>萌萌萌~</p>

          <p>萌萌萌~</p>

          <p>萌萌萌~</p>

          </body>

          </html>

          二、跨頁面跳轉

          ①:設置錨點鏈接,在href中的路徑后面追加:#+錨點名,即可

          如:<a href="萌寵集結號.html#miao">跳轉到萌寵集結號頁面</a>

          ②:要跳轉到的頁面中要設置錨點,方法見一種的步驟②,兩個方法任選其一。


          主站蜘蛛池模板: 久久久久人妻一区精品果冻| 怡红院AV一区二区三区| 亚洲a∨无码一区二区| 精品久久久中文字幕一区 | 制服美女视频一区| 国产美女在线一区二区三区| 精品福利一区二区三区| 国产一区在线播放| 在线观看一区二区精品视频| 亚洲一区二区三区高清不卡| 无码人妻一区二区三区在线视频| 国产成人精品亚洲一区| 亚洲av无码一区二区三区天堂 | 老熟女五十路乱子交尾中出一区| 国产成人一区二区三区电影网站| 国产精品揄拍一区二区久久| 无码精品国产一区二区三区免费| 国偷自产av一区二区三区| 国产精品男男视频一区二区三区| 精品乱码一区二区三区在线 | 国产亚洲3p无码一区二区| 国产精品自在拍一区二区不卡| 国产一区二区三区在线看片| 成人一区专区在线观看| 国产一区二区三区视频在线观看| 麻豆AV天堂一区二区香蕉 | 国产成人综合精品一区| 狠狠爱无码一区二区三区| 亚洲AV无码一区二三区| 国精品无码一区二区三区在线蜜臀| 久久婷婷色综合一区二区| 不卡无码人妻一区三区音频| 激情内射日本一区二区三区| 秋霞无码一区二区| 亚洲av无码一区二区三区人妖| 精品无码综合一区二区三区| 国产精品福利一区| 久久久久人妻一区精品| 91亚洲一区二区在线观看不卡| 成人免费观看一区二区| 精品无码一区二区三区水蜜桃 |