ES6-函式
箭頭函式:函式體內的this
物件,就是定義時所在的物件,而不是使用時所在的物件;
箭頭函式繫結this物件,物件::箭頭函式;(雙冒號運算子);
箭頭函式 obj::function,等價於普通函式 function().bind(obj);
函式的尾呼叫:就是指某個函式的最後一步是呼叫另一個函式。(只存在一個呼叫幀,避免棧溢位);
求階乘普通寫法:
function suns(n){
return n===1?1:n*suns(n-1)
}
尾呼叫寫法:
function suns(n,sun=1){
return n===1?sun:suns(n-1,n*sun)
}
相關推薦
ES6-函式
箭頭函式:函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件; 箭頭函式繫結this物件,物件::箭頭函式;(雙冒號運算子); 箭頭函式 obj::function,等價於普通函式 function().bind(obj
es6 --函式的擴充套件
一、函式引數預設值 //es6之前的做法 function log(x,y){ var y=y||'world'; console.log(x,y); } log('hello'); // hello world log('hello',0); //hello world
es6函式的拓展與箭頭函式
1、函式的預設值: function fn (a=1,b=2) { console.log(a) //10 console.log(b) //2 } fn(10) 可以看到,當沒有傳第二個引數的時候,b的值為預設值2。 var ag
es6——函式擴充套件
1.形參設定預設值 es5 { function sum1(num1, num2) { num1 = num1 || 10;
es6 函式擴充套件,引數作用域和箭頭函式
函式的擴充套件 函式引數的預設值 基本用法 ES6 之前,不能直接為函式的引數指定預設值,只能採用變通的方法。 function log(x, y = 'World') { console.log(x, y); } log('Hello
ES6函式的擴充套件特性
ES6函式添加了一些新的特性,極大的方便了開發者的程式設計體驗:箭頭函式的簡潔、預設的引數… 函式的預設引數 增加了預設引數(值或表示式)特性,讓我們可以進一步思考函式的輸入input(arguments),而不是簡單的依照理所當然的方式去假定引數型別並據此
前端進階-ES6函式
箭頭函式 將函式轉換為箭頭函式 const upperizedNames = ['Farrin', 'Kagure', 'Asser'].map(function(name) { return name.toUpperCase(); }); 將現有的"普通"函式轉換為
ES6函式學習雜記
將現有的"普通"函式轉換為箭頭函式只需幾步:刪掉關鍵字 function -》 刪掉圓括號 -》 刪掉左右花括號 -》 刪掉關鍵字 return -》 刪掉分號 -》 在引數列表和函式主體之間新增一個箭頭(=>) 普通函式可以是函式宣告或函式表示式
ES6-函式的擴充套件
1. 函式引數預設值 在ES5中我們想給函式的引數設定預設值通常是通過短路表示式來操作: function log(x, y) { y = y || 'World'; console.log(x, y); } log('Hello') // Hello World log(
ES6 函式引數的預設值
基本用法 在ES6之前,不能直接為函式的引數指定預設值,只能採取變通的方法。 function log(x,y){ y = y||'world'; console.log(x,y); } log('kkk');//kkk world 這種寫
ES6函式的擴充套件
1.函式的預設值 es5 { function logEvent(x, y) { y = y || 3; console.log(x + y) } logEvent('2', '3'); //2,3 logEvent('2'); //2,3 logEvent('2'
ES6-函式的擴充套件-函式引數的預設值
1)基本用法 ES6 之前,不能直接為函式的引數指定預設值。 function log(x, y) { y = y || 'World'; console.log(x, y); } log('Hello') // Hello World log('Hello'
ES6 --函式
如同我們所看到的,ES6 中引入來箭頭函式,相比 ES5 來講是最為直觀而明顯的特性。 在 ES6 之前,宣告一個函式: function add(a, b) { return a + b; } add(1, 2); // 3 如果用箭頭函式的形式寫: const add = (a, b) => a
ES6 函式擴充套件
函式預設值 ES6 與ES5 的區別 在ES6之前,不能直接為函式的指定預設值 ES5預設值方法 //方法一 function log(x, y) { y = y || 'value'; console.log(x, y); } func
es6函式(function)
1 預設引數 引數個數 function foo(x, y) { let sum = x + y return sum } foo(1) // x = 1
es6 函式引數作用域
函式的引數會形成一個單獨的作用域 //因為函式引數形成一個單獨作用域,所以foo的引數x和匿名函式中的x是處於同一個作用域中。foo函式內部使用的x就是引數x,給x賦值為3,但是後邊接著執行y(),修改x=2,所以最後輸出2 var x = 1; function foo(
ES6函式新特性及箭頭函式與普通函式的區別
前言:專案中也經常用到es6的箭頭函式,但是也沒怎麼去細看es6更新了哪些函式特性,畢竟es7, es8都出來了。今天細看了《深入瞭解ES6》這本書的第三章,函式這一節,特此記錄一下es6更新了哪些函式的新特性。 1.函式形參的預設值。 e5及之前,設定預設引數值均
ES6函式引數預設值作用域的模擬原理實現與個人的一些推測
一、函式引數預設值中模糊的獨立作用域 我在ES6入門學習函式拓展這一篇部落格中有記錄,當函式的引數使用預設值時,引數會在初始化過程中產生一個獨立的作用域,初始化完成作用域會消失;如果不使用引數預設值,不會產生這個作用域;產生疑問是因為這段程式碼: var x = 1; function foo(x,
es6中的(=>)箭頭函式
x => x * x 上面的箭頭函式相當於: function (x) { return x * x; } 箭頭函式相當於匿名函式,並且簡化了函式定義。 箭頭函式有兩種格式,一種像上面的,只包含一個表示式,連{ ... }和return都省略掉了。 還有一種可以包含多條語句,這時候就不能省
ES6中的函式和陣列補漏
物件的函式解構 我們在前後端分離時,後端經常返回來JSON格式的資料,前端的美好願望是直接把這個JSON格式資料當作引數,傳遞到函式內部進行處理。ES6就為我們提供了這樣的解構賦值。 let json={ a:'leiy', b:'ly' } function fun({a,b="yu"})