js中函数的传递参数
一、js中函数传递参数
1、函数传递的参数类型 = js的数据类型
数字、字符串、布尔值、数组、函数、对象、未定义
1)数字
代码如下:
fn1(100);
function fn1(a){ //相当于var a = 100;
alert(a); //返回的值是100,
}
2)函数类型 (无名函数)
fn2( function(){
alert("a");
})
function fn2(fn){
fn(); //返回的值是"a";
}
函数类型(有名函数)
fn3( function fn(){
alert('js');
})
function fn3(fn){
fn(); //返回的值是js
}
fn4( function fn( a ){
alert( a );
})
function fn4( fn ){
fn( 100 ); //返回的值为100,将100传递到fn()的a中
}
3)对象类型
fn5( window,document )
function fn5( w,d ){
w.onload = function(){
d.body.innerHTML = 123; //返回的是在body内有123
}
}
2、js中传递参数时的特性
1)js中函数传参时如果传递多个参数,需要用",",隔开,而且需要不同的变量去接 收参数,传递的参数与接收参数的变量是一一对应的
代码入下:
fn6( "我爱学习","js");
function fn6( a,b ){
alert( a+b );
//返回的值是我爱学习js,把我爱学习给变量a,把js传递给变量b
}
2)函数的传递参数过程中可以定义多个参数,接受参数时会按照代码的顺序进行 接收
代码如下:
fn7('javascript');
fn7('学习js课程');
function fn7( a ){
alert( a.charAt(4) );
//返回的值为 先返回"s" ,再返回"课"
}
3、js中函数传参的简单例子( 判断内容的类型 ):
代码如下:
window.onload = function(){
fn1( 100 );
fn1('javascript');
fn1( function(){
alert('a');
})
function fn1(a){
if(typeof a === 'number' &&a === a){ //判断数字类型时要注意NaN是数字 类型但不是数字,可以用NaN与自身不等的方法进行判断
alert(a + 50);
}else if(typeof a === 'string'){
alert(a.charAt(4));
}else if(typeof a === 'function'){
a();
}
}
}