js函式-引數預設值
阿新 • • 發佈:2021-07-12
1. 在es6之前必須通過函式內部實現
就像以下的幾種情況:
function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//設定引數a的預設值為1 var b = arguments[1] ? arguments[1] : 2;//設定引數b的預設值為2 return a+b; }
function example(name,age){ name=name||'貂蟬'; age=age||21; alert('你好!我是'+name+',今年'+age+'歲。'); }
function example(name,age){if(!name){name='貂蟬';} if(!age){age=21;} alert('你好!我是'+name+',今年'+age+'歲。'); }
2. 在ES6中可以像其它程式語言那樣直接使用預設引數了
在class的構造器中使用預設引數
1 class Person { 2 constructor(name="順", age=18) { 3 this.name = name 4 this.age = age 5 } 6 } 7 const P1 = new Person() 8 console.log(P1.name) //順
建構函式中,(適用於專案中有一個古老的方法,但是現在要求根據某個條件來改變這個方法的邏輯,則只需要給這個函式一個預設值即可,不需要通篇找到這個方法去改)
1 isHandle(false) //引數為false,則實參flag接收的為false 2 3 isHandle() 4 5 function isHandle(flag = true) { //預設為true,呼叫函式時不傳預設為true, 6 if(flag) { 7 //flag == true 時的邏輯 8 } else { 9 //flag == false 時的邏輯10 } 11 }