成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ES2015入門系列4-參數(shù)默認(rèn)值

Shisui / 2800人閱讀

摘要:這個(gè)功能比較簡(jiǎn)單,但對(duì)于后端開(kāi)發(fā)來(lái)說(shuō),會(huì)覺(jué)得會(huì)奇怪,參數(shù)默認(rèn)值還需要特殊支持么答案是肯定的,在中參數(shù)是不可以指定默認(rèn)值的,統(tǒng)一默認(rèn)為如下代碼呵呵呵呵哈哈哈哈沒(méi)錯(cuò),之前,我們只能這么來(lái)操作參數(shù)默認(rèn)值,但是在中,就不再需要啦,就和普通的后端語(yǔ)言

這個(gè)功能比較簡(jiǎn)單,但對(duì)于后端開(kāi)發(fā)來(lái)說(shuō),會(huì)覺(jué)得會(huì)奇怪,參數(shù)默認(rèn)值還需要特殊支持么?答案是肯定的,在ES5中, 參數(shù)是不可以指定默認(rèn)值的,統(tǒng)一默認(rèn)為 undefined, 如下代碼:

function say(word) {
  word = word || "呵呵!";
  console.log(word);
}

console.log(say()); //呵呵!
console.log(say("哈哈!")); //哈哈!

沒(méi)錯(cuò),ES2015之前,我們只能這么來(lái)操作參數(shù)默認(rèn)值,但是在ES2015中,就不再需要啦,就和普通的后端語(yǔ)言一樣:

function say(word = "呵呵!") {
  console.log(word);
}

console.log(say()); //呵呵!
console.log(say("哈哈!")); //哈哈!

是不是就這么結(jié)束啦?當(dāng)然不是,回到官方手冊(cè)上,我們看到的是:

Callee-evaluated default parameter values.

參數(shù)默認(rèn)值是被計(jì)算過(guò)的,意味著,我們可以寫表達(dá)式,這個(gè)也是其他語(yǔ)言做不到的,看代碼:

function defaultWord() {
  return "呵呵!";
}

function say(word = defaultWord()) {
  console.log(word);
}

console.log(say()); //呵呵!
console.log(say("哈哈!")); //哈哈!

什么叫evaluated, 其實(shí)也就是在應(yīng)用默認(rèn)值的時(shí)候,相當(dāng)于JavaScript編譯器使用eval計(jì)算一下,出來(lái)的結(jié)果當(dāng)作默認(rèn)值:

function say(word = eval(""呵呵!"")) {
  console.log(word);
}

function say(word = eval("defaultWord()")) {
  console.log(word);
}

還有:

Default parameters are available to later default parameters.

有默認(rèn)值的參數(shù),對(duì)其后面的參數(shù)可用,啥意思?看代碼:

function renderScore(name, score = 100, description = (score === 100 ? "(好棒)" : "")) {
  console.log(name + "得分: " + score + description);
}
renderScore("小明");
renderScore("小花", 80);
renderScore("小靜", 100);
renderScore("小強(qiáng)", 90, "(加油哦!)");

結(jié)果為:

> 小明得分: 100(好棒)
> 小花得分: 80
> 小靜得分: 100(好棒)
> 小強(qiáng)得分: 90(加油哦!)

這樣,大家都應(yīng)該清楚了吧?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/83729.html

相關(guān)文章

  • ES2015入門系列1-初識(shí)ES2015

    EcmaScript 其實(shí)是一種語(yǔ)言規(guī)范,常見(jiàn)的 JavaScript, ActionScript 等都是其具體實(shí)現(xiàn),平時(shí)使用中一般可以將其和Javascript對(duì)等稱呼,本系列教程主要講述 EcmaScript2015(ES6) 為JavaScript帶來(lái)的新的特性,并初步掌握如何利用其進(jìn)行開(kāi)發(fā)。 本系列面向有一定基礎(chǔ)知識(shí)的ES5使用者,不適合初學(xué)者。 先來(lái)看兩段代碼: Human.js exp...

    hellowoody 評(píng)論0 收藏0
  • ES2015入門系列6-Rest和Spread

    摘要:就是的逆操作,看代碼計(jì)算一個(gè)數(shù)組大于三個(gè)元素中前三個(gè)元素的和以及所有元素的和。前三個(gè)值為總和為結(jié)果前三個(gè)值為總和為前三個(gè)值為總和為 ES2015為我們帶來(lái)了一個(gè)新的操作符: ..., 用于定義函數(shù)參數(shù)的地方,稱之為 Rest 用于調(diào)用函數(shù)的地方,稱之為 Spread 我們一個(gè)個(gè)來(lái)分析: Rest 寫程序的時(shí)候或多或少都會(huì)有,傳入不定參數(shù)給一個(gè)函數(shù)的需求,如,給一個(gè)班級(jí)加入學(xué)生名單,...

    keelii 評(píng)論0 收藏0
  • ES2015入門系列5-解構(gòu)賦

    摘要:用過(guò)的同學(xué)肯定見(jiàn)過(guò)類似下面的代碼這就是為帶來(lái)的另一個(gè)新的語(yǔ)法解構(gòu)賦值。解構(gòu)賦值是用來(lái)讓我們從數(shù)組或者對(duì)象中提取數(shù)據(jù)賦值給不同的變量。解構(gòu)賦值操作不會(huì)拋錯(cuò),如果沒(méi)有找到,將會(huì)用賦值過(guò)去。 用過(guò)ReactNative的同學(xué)肯定見(jiàn)過(guò)類似下面的代碼: import { Text, View } from react-native; 這就是ES2015為JavaScript帶來(lái)的另一個(gè)新的語(yǔ)法:...

    chuyao 評(píng)論0 收藏0
  • 2017-06-29 前端日?qǐng)?bào)

    摘要:前端日?qǐng)?bào)精選如何在非項(xiàng)目中使用知乎專欄編碼規(guī)范最常被遺忘的性能優(yōu)化瀏覽器緩存?zhèn)€人文章譯統(tǒng)一樣式語(yǔ)言掘金新的開(kāi)發(fā)者提及最多的個(gè)視頻眾成翻譯中文第期在中使用譯統(tǒng)一樣式語(yǔ)言掘金前端現(xiàn)狀答題救不了前端新人相學(xué)長(zhǎng)懟前端歲以 2017-06-29 前端日?qǐng)?bào) 精選 如何在非 React 項(xiàng)目中使用 Redux - 知乎專欄Javascript編碼規(guī)范 - Clearlove - SegmentFau...

    gaosboy 評(píng)論0 收藏0
  • es6快速入門

    摘要:快速入門簡(jiǎn)介以下簡(jiǎn)稱是語(yǔ)言的下一代標(biāo)準(zhǔn),已經(jīng)在年月正式發(fā)布了。而且聲明后必須立即初始化賦值,不能后面賦值。方法默認(rèn)返回實(shí)例對(duì)象即,可以指定返回另外一個(gè)對(duì)象。參數(shù)搭配的變量是一個(gè)數(shù)組,該變量將多余的參數(shù)放入數(shù)組中。 es6快速入門 showImg(https://segmentfault.com/img/remote/1460000008519223?w=560&h=314); ES6簡(jiǎn)...

    liujs 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<