亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 29
粉絲 1
評(píng)論 0
訪問量 22088
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
JavaScript函數(shù)的參數(shù)與返回值/模板字符串/閉包
Pharaoh
原創(chuàng)
910人瀏覽過

函數(shù)的參數(shù)與返回值

  • 函數(shù)的返回值默認(rèn)是單值return 字符串/變量/表達(dá)式;
  • 如果需要返回多個(gè)值可以返回一個(gè)數(shù)組
    • 使用…rest參數(shù)將多個(gè)參數(shù)壓入一個(gè)數(shù)組返回
      1. function webShell(...shell) {
      2. return shell;
      3. }
  • …rest參數(shù)在調(diào)用函數(shù)時(shí),是將數(shù)組(容器)展開
    1. let hack = ["or", "=", "or"];
    2. console.log(webShell(...hack));
  • 返回對(duì)象字面量,必須將對(duì)象字面量用()包裹起來當(dāng)作一個(gè)表達(dá)式
    1. obj = () => ({
    2. a: 1,
    3. b: 2,
    4. c: function () {
    5. return null;
    6. },
    7. });

實(shí)例

  1. // 參數(shù)
  2. function web(website) {
  3. return website;
  4. }
  5. // 返回值默認(rèn)是單值:return website;
  6. console.log(web("https://www.xxx.com"));
  7. // 使用...rest返回多個(gè)返回值(數(shù)組,對(duì)象)
  8. function webShell(...shell) {
  9. return shell;
  10. }
  11. let hack = ["or", "=", "or"];
  12. // ...rest使用在調(diào)用函數(shù)時(shí),會(huì)展開容器["or", "=", "or"] === "or" , "=" , "or"
  13. console.log(webShell(...hack));
  14. obj = () => ({
  15. a: 1,
  16. b: 2,
  17. c: function () {
  18. return null;
  19. },
  20. });
  21. console.log(obj());

模板字符串(模板字面量)

  • 用反引號(hào)(`)標(biāo)識(shí)。它可以當(dāng)作普通字符串使用,也可以用來定義多行字符串,或者在字符串中插入變量/表達(dá)式

  • 插值:使用占位符${變量/表達(dá)式}將動(dòng)態(tài)值放入創(chuàng)建的字符串中

實(shí)例

  1. let num = 8;
  2. let insertValue = `我是模板字符串,${num}我也是模板字符串,${
  3. 8 * 8}`;
  4. let doubleLine = `
  5. 我是第一行
  6. 我是第二行
  7. `;
  8. console.log(insertValue);
  9. console.log(doubleLine);

標(biāo)簽(標(biāo)簽函數(shù))

  • 模板函數(shù)/標(biāo)簽 :是將模板字面量作為實(shí)參,傳給一個(gè)函數(shù)

  • 標(biāo)簽函數(shù)的第一個(gè)參數(shù)是一個(gè)數(shù)組,里面是沒有${}占位符所替換的部分,也就是模板字符串中的所有字面量,就是說這里形參接收的是模板字符串中除去${}之外的字符串所組成的數(shù)組,每一個(gè)${}都相當(dāng)于一個(gè)分隔符

  • 第二個(gè)是剩余參數(shù),包含了所有${}占位符中的計(jì)算結(jié)果,而想要接收${}所表示的字符串,需要額外的形參,有幾個(gè)${}就需要多幾個(gè)形參,或者使用rest參數(shù)來把剩余的參數(shù)接收為一個(gè)數(shù)組,形式為:函數(shù) (形參1 ,...形參2)

實(shí)例

  1. function f(a) {
  2. console.log(a);
  3. }
  4. f`我會(huì)被傳遞給第一個(gè)形參,${"我不會(huì)被第一個(gè)形參傳遞"},8也會(huì)`;
  5. let str1 = "我被形參b接收";
  6. let str2 = "我被形參c接收";
  7. function tag(a, b, c) {
  8. console.log(a);
  9. console.log(b);
  10. console.log(c);
  11. }
  12. tag`我被第一個(gè)形參傳遞,${str1},我也被第一個(gè)形參傳遞,${str2}`;
  13. // 函數(shù)常規(guī)調(diào)用
  14. tag(1, 2, 3);

閉包

  • 子函數(shù)使用父函數(shù)變量的行為就是閉包
  • 閉包可以延長(zhǎng)被調(diào)用父函數(shù)變量的聲明周期,不會(huì)很快被回收

實(shí)例

  1. function fun(a) {
  2. function fun2(b) {
  3. return a + b;
  4. }
  5. // 函數(shù)加了括號(hào)就是調(diào)用,所以不能加括號(hào)
  6. // return fun2();
  7. return fun2;
  8. }
  9. console.log(fun(2)(3));

簡(jiǎn)單來說,閉包就是在一個(gè)函數(shù)當(dāng)中再嵌套一個(gè)函數(shù),內(nèi)層函數(shù)可以訪問外層函數(shù)中聲明和定義的變量,而外層函數(shù)卻不能訪問內(nèi)層函數(shù)中聲明和定義的變量,內(nèi)層函數(shù)向?qū)τ谕鈱雍瘮?shù)來說是封閉的,所以當(dāng)在一個(gè)函數(shù)中還定義了一個(gè)函數(shù),內(nèi)層函數(shù)是一個(gè)閉包

拓展:對(duì)象字面量的簡(jiǎn)化

某個(gè)變量的變量名和對(duì)象某個(gè)屬性同名,且在一個(gè)作用域,可以給對(duì)象字面量簡(jiǎn)化

實(shí)例

  1. let arr = {
  2. name: "pharaoh",
  3. age: 30,
  4. height: 172,
  5. sum: function () {
  6. return this.age + this.height;
  7. },
  8. };
  9. console.log(arr.sum());
  10. // 簡(jiǎn)化
  11. let name = "Pharaoh";
  12. let age = 30;
  13. let height = 172;
  14. let arr2 = {
  15. name,
  16. age,
  17. height,
  18. // 方法簡(jiǎn)寫:去掉冒號(hào)和function (: function)
  19. sum() {
  20. return this.age + this.height;
  21. },
  22. sum1: () => arr2.age + arr2.height,
  23. // 不要再箭頭函數(shù)中使用this
  24. // this在普通函數(shù)中,調(diào)用時(shí)確定
  25. // this在箭頭函數(shù)中,聲明時(shí)確定
  26. // sum1: () => this.age + this.height,
  27. };
  28. console.log(arr2.sum());
  29. console.log(arr2.sum1());

批改老師:PHPzPHPz

批改狀態(tài):合格

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)