色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

func的默認(rèn)參數(shù)

張吉惟2年前19瀏覽0評論

func的默認(rèn)參數(shù)?

func(string1,url,flag,icon),然后在另一個asp中調(diào)用它func(a,b),那flag和icon的值是什么,怎么定義默認(rèn)值?謝謝!

--默認(rèn)值應(yīng)該是 undefined

在函數(shù)內(nèi)預(yù)設(shè)數(shù)可以用 arguments[i]

【注意】這是JavaScript函數(shù)中保存?zhèn)魅朐摵瘮?shù)中的參數(shù)的列表。所以,有些開源項目或者自己寫的代碼時候,

可以不用使用函數(shù)聲明中的形參名字,而用 var a = arguments[0] 來獲取到第一個參數(shù)。

但是這個argument無法獲得this。

i就是你參數(shù)的位置 第一個為0

所以要設(shè)定 flag 的默認(rèn)值 則可以這么寫

function func(string1,url,flag,icon){

if(!arguments[2]) flag = "123";

if(!arguments[3]) icon = "456";

}

你試試 應(yīng)該是這樣

今天遇到一個問題,需要調(diào)用一個JS函數(shù),想在函數(shù)中給它一個默認(rèn)參數(shù),以為跟其他語言一樣。

<script>

function test(id=0){

alert(id);

}

</script>

<input type="button" value="test" οnclick="test()">

運(yùn)行結(jié)果報錯,JS中不能這樣傳默認(rèn)參數(shù),上網(wǎng)查了一下,可以借助于arguments 實(shí)參數(shù)組,參考下例:

<script>

function test(a){

var b=arguments[1]?arguments[1]:50

return a+':'+b

}

alert(test(5))

alert(test(5,9))

</script>

跟其他語言的一點(diǎn)小區(qū)別。。

--var b=arguments[1]?arguments[1]:50 還可以寫做: var b= arguments[1] || 50;

我特別喜歡它這個特性。

--var b= arguments[1] || 50; 這個方法相當(dāng)精簡啊。

==================================================================

在javascript中如何為函數(shù)設(shè)置默認(rèn)參數(shù)值,下面提供幾種方法供大家參考。

第一種方法:

function example(a,b){

var a = arguments[0] ? arguments[0] : 1;//設(shè)置參數(shù)a的默認(rèn)值為1

var b = arguments[1] ? arguments[1] : 2;//設(shè)置參數(shù)b的默認(rèn)值為2

return a+b;

}

注意以上函數(shù)也可寫作如下:

function example(){

var a = arguments[0] ? arguments[0] : 1;//設(shè)置第一個參數(shù)的默認(rèn)值為1

var b = arguments[1] ? arguments[1] : 2;//設(shè)置第二個參數(shù)的默認(rèn)值為2

return a+b;

}

調(diào)用示例:

alert( example() ); //輸出3

alert( example(10) ); //輸出12

alert( example(10,20) ); //輸出30

alert( example(null,20) ); //輸出20

第二種方法:

function example(name,age){

name=name||'貂蟬';

age=age||21;

alert('你好!我是'+name+',今年'+age+'歲。');

}

該函數(shù)也可以寫作如下:

function example(name,age){

if(!name){name='貂蟬';}

if(!age){age=21;}

alert('你好!我是'+name+',今年'+age+'歲。');

}

調(diào)用示例:

example('王五');//輸出:你好!我是王五,今年21歲。

example('王五',30);//輸出:你好!我是王五,今年30歲。

example(null,30);//輸出:你好!我是貂蟬,今年30歲。

第三種方法,這種方法適合用于參數(shù)較多的情況,使用了Jquery的擴(kuò)展:

function example(setting){

var defaultSetting={

name:'小紅',

age:'30',

sex:'女',

phone:'100866',

QQ:'100866',

birthday:'1949.10.01'

};

$.extend(defaultSetting,settings);

var message='姓名:'+defaultSetting.name

+',性別:'+defaultSetting.sex

+',年齡:'+defaultSetting.age

+',電話:'+defaultSetting.phone

+',QQ:'+defaultSetting.QQ

+',生日:'+defaultSetting.birthday

+'。';

alert(message);

}

調(diào)用示例:

example({

name:'小紅',

sex:'女',

phone:'100866'

});

//輸出:姓名:小紅,性別:女,年齡:30,電話:100866,QQ:100866。