javascript函数的参数:
1.形式:其中在函数内部的a叫做形参,而调用函数里的100叫做实参
function(在此处传参){}
fn1(100); function fn1(a){alert(a)};//可以相当于:
fn1(100); function fn1(var a = 100){alert(100)};//但不能这么写
2.也可以传多个参数,如:
fn1(100,"px"); function fn1(a,b){alert(a+b);}
3.参数可以为js的以下数据类型:数字、字符串、布尔值、函数、对象、未定义,网上很多类似的效果就是用函数传参的方式做的
例如:当以对象当参数时有
fn5(window,document);
function fn5(w,d){
w.onload = function(){
d.body.innerHTML=123;
}
};
4.用参数封装一个方法:
function fn1(a){
if(typeof(a) === 'number' && a===a){
alert(a+20);
}else if(typeof(a)==='string'){
alert(a.charAt(2));
}else if(typeof(a)==='function'){
a();
}
}
5.函数传参应用的注意事项:
- 尽量保证HTML代码结构一致(否则很难重用代码)
- 需要把核心程序实现,再用函数包裹起来
- 把每组中不同的值找出来,通过传参分别实现效果
javascript函数返回值:
1.return关键字后面的既是返回值。
2.用函数名+()就可以得到函数的返回值,如:
function fn1(){return 100;};
alert(fn1()); //结果为100
注意:(1)return关键字可以返回字符串、数字、布尔值、函数、对象([]/{}/null)、未定义,如返回字符串就有.length属性等,typeof(fn1());可以判断返回值的类型。
(2)返回函数时,会把这个函数变成字符串返回(包括注释),实际上调用这个函数相当于返回值函数的名字,如:
function fn2(){
return function(){alert(1);};
}
fn2()(); //前面fn2()是fn2的返回值,后面的()代表调用该返回值
3.函数返回值需要注意的事项:
只有函数代码块里才可以用return,如果一个函数没有return或return后无返回值,则会返回一个未定义;
return返回值之后的任何代码都不会执行。