我知道它已被問及回答如何設置一個JavaScript函數的默認參數by Tilendor調用JavaScript方法時繞過set參數嗎?
我想知道如果我有一個函數包含一系列布爾值。
例如,一個名爲'anAnimal'的函數,作爲默認值,我將三個屬性的值設置爲false。
飛,游泳,爬。
如果我只想傳遞一個真實的參數給我的屬性稱爲爬升,我該怎麼辦?
當我在方法中調用時,我必須傳入一個假的值來進行飛行和游泳,儘管我已經將它們預定義爲false。
這就是我試圖和我想的結果說真的而不是假
function anAnimal (fly = false, swim = false, climb = false) {
this.canFly = fly;
this.canSwim = swim;
this.canClimb = climb;
}
var cat = new anAnimal(true)
var theCat = 'This cat can climb: ' + cat.canClimb;
document.write(theCat);
你必須把所有的論點。在您的例子你的貓能飛。 (嘗試'cat.canFly') - 因此將cat調用改爲'var cat = new Animal(false,false,true)' – evolutionxbox
爲什麼不使用setter? 'setSwim()''setFly()'...?我認爲這是更多的面向對象 – teeyo
函數重載是不可能在JS中。您需要使用所有參數創建對象。 –