函数
javascript函数相信大家都写过不少了,所以我们这里只是简单介绍一下.
创建函数:
function f(x) {........}
var f = function(x) {......}
上面这两种形式都可以创建名为f()的函数,不过后一种形式可以创建匿名函数
函数定义时可以设置参数,如果传给函数的参数个数不够,则从最左边起依次对应,其余的用undefined赋值,如果传给函数
的参数多于函数定义参数的个数,则多出的参数被忽略.
?
-
function
?myprint(s1,s2,s3)?{??
-
????alert(s1+"_"
+s2+
"_"
+s3);??
-
}??
-
myprint();??????
??
-
myprint("string1"
,
"string2"
);?
??
-
myprint("string1"
,
"string2"
,
"string3"
,
"string4"
);?
??
function myprint(s1,s2,s3) {
alert(s1+"_"+s2+"_"+s3);
}
myprint(); //undefined_undefined_undefined
myprint("string1","string2"); //string1_string2_undefined
myprint("string1","string2","string3","string4"); //string1_string2_string3
?
因此,对于定义好的函数,我们不能指望调用者将所有的参数全部传进来.对于那些必须用到的参数应该在函数体中
加以检测(用!操作符),或者设置默认值然后同参数进行或(||)操作来取得参数.
?
-
function
?myprint(s1,person)?{??
-
????var
?defaultperson?=?{???
??
-
????????"name"
:
"name1"
,??
-
????"age"
:18,??
-
????"sex"
:
"female"
??
-
????};??
-
????if
(!s1)?{????
??
-
????????alert("s1?must?be?input!"
);??
-
????return
?
false
;??
-
????}??
-
????person?=?person?||?defaultperson;??
??
-
????alert(s1+"_"
+person.name+
":"
+person.age+
":"
+person.sex);??
-
};??
-
??
-
myprint();?
??
-
myprint("s1"
);?
??
-
myprint("s1"
,{
"name"
:
"sdcyst"
,
"age"
:23,
"sex"
:
"male"
});??
??