004. ES6之函數的擴展

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

1. 函數參數的默認值

ES6 允許為函數的參數設置默認值,

function log(x, y = 'World') {console.log(x, y);
}log('Hello') // Hello World
log('Hello', 'China') // Hello China
log('Hello', '') // Hello// 1. 參數變量是默認聲明的,所以不能用 let 或 const 再次聲明
function foo(x = 5) {let x = 1; // errorconst x = 2; // error
}// 2. 使用默認值時,函數不能有同名參數// 3. 參數默認值不是傳值的,而是每次都重新計算默認值表達式的值
let x = 99;
function foo(p = x + 1) {console.log(p);
}
foo() // 100
x = 100;
foo() // 101

2. 與結構賦值默認值結合使用

function foo({x, y = 5}) {console.log(x, y);
}
foo({}) // undefined 5
foo({x: 1}) // 1 5
foo({x: 1, y: 2}) // 1 2
foo() // TypeError: Cannot read property 'x' of undefined// 提供函數默認值
function foo({x, y = 5} = {}) {console.log(x, y);
}
foo() // undefined 5

3. 參數默認值的位置

// 例一
function f(x = 1, y) {return [x, y];
}f() // [1, undefined]
f(2) // [2, undefined])
f(, 1) // 報錯
f(undefined, 1) // [1, 1]// 例二
function f(x, y = 5, z) {return [x, y, z];
}f() // [undefined, 5, undefined]
f(1) // [1, 5, undefined]
f(1, ,2) // 報錯
f(1, undefined, 2) // [1, 5, 2]

如果傳入 undefined ,將觸發該參數等于默認值, null 則沒有這個效果

function foo(x = 5, y = 6) {console.log(x, y);
}foo(undefined, null)
// 5 null

4. 函數的 length 屬性 是指沒有指定默認值的參數個數

5. name 屬性

6. 箭頭函數

7. 雙冒號運算符

轉載于:https://my.oschina.net/u/3563169/blog/1861243

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390074.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390074.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390074.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構 | 鏈表:1097 刪除重復元素

代碼提交之后一直說段錯誤。我以為是數組開的不夠大&#xff0c;但是隨著數組一點一點開大&#xff0c;還是有一個case沒有AC。最終我發現&#xff1a;是有個邊界條件沒有考慮到 void printList(const vector<Node>& a){if(!a.size()) return;FF(i,a.size()-1){print…

算法之美 : 位運算

上一小節我們用三道題了解一下面試過程中棧和隊列的常見面試題。本小節筆者將通過幾個 位運算 的題目來帶大家熟悉下常用的位運算知識。 相比于棧和隊列來講&#xff0c;筆者自身認為位運算需要掌握的知識就要多一些&#xff0c;包括對于數字的二進制表示&#xff0c;二進制的反…

447. 回旋鏢的數量

447. 回旋鏢的數量 給定平面上 n 對 互不相同 的點 points &#xff0c;其中 points[i] [xi, yi] 。回旋鏢 是由點 (i, j, k) 表示的元組 &#xff0c;其中 i 和 j 之間的距離和 i 和 k 之間的距離相等&#xff08;需要考慮元組的順序&#xff09;。 返回平面上所有回旋鏢的…

一名3年工作經驗的程序員應該具備的技能

本文轉自:https://m.imooc.com/article/details?article_id7557 前言 因為和同事有約定再加上LZ自己也喜歡做完一件事之后進行總結&#xff0c;因此有了這篇文章。這篇文章大部分內容都是面向整個程序員群體的&#xff0c;當然因為LZ本身是做Java開發的&#xff0c;因此有一部…

js 排序算法總結

1.冒泡排序 平均時間復雜度O(N2) 最好情況O(N)最壞情況O(N2) 空間復雜度O(1) function bubbleSort(arr){if(arr.length < 1)return arr;var flag 1; // 標識是否進行交換for(var i0; i < arr.length; i){if(i !0 && flag) break;for(var j0; j <…

524. 通過刪除字母匹配到字典里最長單詞

524. 通過刪除字母匹配到字典里最長單詞 給你一個字符串 s 和一個字符串數組 dictionary 作為字典&#xff0c;找出并返回字典中最長的字符串&#xff0c;該字符串可以通過刪除 s 中的某些字符得到。 如果答案不止一個&#xff0c;返回長度最長且字典序最小的字符串。如果答案…

django開發商城(提供初始數據,商城首頁及購物車)

1.爬取數據 2.json數據轉化為sql語句 3.新建輪播圖模型(模型名與sql語句對應表名相同) class Wheel(models.Model):imgmodels.CharField(max_length150)namemodels.CharField(max_length20)trackidmodels.CharField(max_length20) 4.終端打開mysql,執行插入語句 5.在首頁進行展…

多語言版希爾排序

2019獨角獸企業重金招聘Python工程師標準>>> 簡介 希爾排序(Shells Sort)是插入排序的一種又稱“縮小增量排序”&#xff08;Diminishing Increment Sort&#xff09;&#xff0c;是直接插入排序算法的一種更高效的改進版本。希爾排序是非穩定排序算法。該方法因D.L…

UML 中extend和include的區別

在UML用例圖中有兩種關系——包含和擴展&#xff0c;容易混淆&#xff0c;下面通過一張表來區別一下這兩種關系。 轉載于:https://www.cnblogs.com/yonyong/p/8555547.html

hdu 6301 Distinct Values(貪心)題解

題意&#xff1a;長為n的串&#xff0c;給你m個區間&#xff0c;這些區間內元素不重復&#xff0c;問這樣的串字典序最小為&#xff1f; 思路&#xff1a;用set保存當前能插入的元素&#xff0c;這樣就能直接插入最小元素了。對操作按l排序&#xff0c;因為排過的不用排&#x…

瀏覽器兼容CSS漸進增強 VS 優雅降級如何選擇

由于低級瀏覽器不支持 CSS3&#xff0c;但是 CSS3 特效太優秀不忍放棄&#xff0c;所以在高級瀏覽器中使用CSS3&#xff0c;而在低級瀏覽器只保證最基本的功能。二者的目的都是關注不同瀏覽器下的不同體驗&#xff0c;但是它們側重點不同&#xff0c;所以導致了工作流程上的不同…

細數sass安裝中遇到的坑

前言&#xff1a; 前兩天打算清理電腦的時候&#xff0c;遇到了一點特殊的問題&#xff0c;打算重裝一些東西&#xff0c;其中就有我一直用的順手的SASS預編譯工具。 但是在重裝的時候&#xff0c;我發現我居然不會用了&#xff1f;&#xff1f;&#xff1f; 靠&#xff0c;要不…

442. 數組中重復的數據

442. 數組中重復的數據 給定一個整數數組 a&#xff0c;其中1 ≤ a[i] ≤ n &#xff08;n為數組長度&#xff09;, 其中有些元素出現兩次而其他元素出現一次。 找到所有出現兩次的元素。 你可以不用到任何額外空間并在O(n)時間復雜度內解決這個問題嗎&#xff1f; 示例&am…

[bzoj 2726] 任務安排 (斜率優化 線性dp)

3月14日第三題&#xff01;&#xff01;&#xff01;&#xff08;雖然是15號發的qwq&#xff09; Description 機器上有N個需要處理的任務&#xff0c;它們構成了一個序列。這些任務被標號為1到N&#xff0c;因此序列的排列為1,2,3…N。這N個任務被分成若干批&#xff0c;每批…

2018年,牛客網小白月賽5

第一次啊&#xff0c;補題&#xff0c;希望大佬批評。 題目按我補題順序來的。 https://www.nowcoder.com/acm/contest/135#question H 題 最大公倍數 題意:給出兩個數&#xff0c;求最大公倍數 歐幾里德算法算出最大公約數k; 然后算出。最大公倍數即可 代碼如下&#xff1a; …

292. Nim 游戲

292. Nim 游戲 你和你的朋友&#xff0c;兩個人一起玩 Nim 游戲&#xff1a; 桌子上有一堆石頭。你們輪流進行自己的回合&#xff0c;你作為先手。每一回合&#xff0c;輪到的人拿掉 1 - 3 塊石頭。拿掉最后一塊石頭的人就是獲勝者。 假設你們每一步都是最優解。請編寫一個函…

0710 mux協議的作用(ppp撥號時如何和gprs進行at指令交互)

ppp撥號使gprs上網的同時如何和gprs模塊進行at指令的交互&#xff0c;這是一個問題。 在linux中&#xff0c;ppp撥號上網是內核中支持的&#xff0c;只需要在內核配置中選上。 ppp撥號的方式使gprs進行上網與at指令使gprs上網&#xff0c;兩者之間有不同。ppp是一個將用at指令使…

爬蟲筆記(十二)——瀏覽器偽裝技術

為什么要進行瀏覽器偽裝技術&#xff1f; 有一些網站為了避免爬蟲的惡意訪問&#xff0c;會設置一些反爬蟲機制&#xff0c;對方服務器會對爬蟲進行屏蔽。常見的飯爬蟲機制主要有下面幾個&#xff1a; 1. 通過分析用戶請求的Headers信息進行反爬蟲 2. 通過檢測用戶行為進行反…

650. 只有兩個鍵的鍵盤

650. 只有兩個鍵的鍵盤 最初記事本上只有一個字符 ‘A’ 。你每次可以對這個記事本進行兩種操作&#xff1a; Copy All&#xff08;復制全部&#xff09;&#xff1a;復制這個記事本中的所有字符&#xff08;不允許僅復制部分字符&#xff09;。Paste&#xff08;粘貼&#x…

Codeforces 626F Group Projects (DP)

題目鏈接 8VC Venture Cup 2016 - Elimination Round 題意 把$n$個物品分成若干組&#xff0c;每個組的代價為組內價值的極差&#xff0c;求所有組的代價之和不超過$k$的方案數。 考慮DP&#xff0c;$f[i][j][k]$表示考慮到第$i$個物品的時候&#xff0c;還有$j$組尚未分配完…