标签:
什么是函数传参?
例子
<script>
function fn1(a){ //相当于var a =100;
alert(a)
}
fn1(100); //调用,弹出100;
</script>
答:往函数里面传递参数
多个参数 fn1(100,‘px‘)用逗号隔开,里面function fn1(a,b)加一个b来接受‘px‘
例子
<script>
function fn1(a,b){
alert(a+b)
}
fn1(100,"px"); //弹出100px
</script>
参数的=JS的数据类型:
数字;
字符串;
布尔;
未定义;
函数;
对象;
例子
字符串
<script>
function fn2(a){
alert(a.charAt(2)); //charAt找到字符串下标[2]的值
}
fn2("测试数据"); //弹出数
fn2("testdata"); //弹出S
</script>
函数
<script>
function fn3(fn){ //fn同下面的fn()
fn()
}
fn3(function(){alert(1)}); //弹出1
</script>
函数2
<script>
function fn3(fn){
fn(100)
}
fn3(function(a){alert(a)}); //弹出100
</script>
函数3
<script>
function fn4(){
alert(4);
}
function fn3(fn){
fn()
}
fn3(fn4); //和匿名函数相比,有名函数当参数不要带() 弹出4
</script>
对象
<script>
function fn5(w,d){
w.onload=function(){
d.body.innerHTML=123;
}
}
fn5(window,document); //<body>标签里面输出123
</script>
基本形式:传什么接收什么,一一对应的关系,传多少个都没关系,该怎么用就怎么用!
实际应用————
不同类型参数传入
<script>
function fn6(a){ //1.从下面函数传入的东西看,有不同的类型
if(typeof a===‘number‘ && a===a){ //typeof 取类型 a===a目的是去掉number类型中的NaN (NaN!=NaN)===严格等于,两边值相同但数据类型不同时不会转变类型比较返回为false ==等于,会自动转化,返回值true
alert(a+20); //120
}else if(typeof a==="string"){
alert(a.charAt(1)); //典
}else if(typeof a==="function"){
a(); //1
}
}
fn6(100);
fn6("字典");
fn6(function(){alert(1);})
</script>
标签:
原文地址:http://www.cnblogs.com/nonameG/p/4841999.html