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(); } }