JS函数返回值return

return 返回值:数字 字符串 布尔 函数 对象(元素 数组 json null) undefined

01:返回数字(number)
function fn1(){
    return 100;
}
alert(fn1());//可以理解为 fn1() = 100; 函数名称加括号等于return出来的东西
02:返回字符串(string)
 function fn2(){
    return 'test';
}
alert(fn2()) //test
alert(fn2().length)//5
alert(typeof fn2())//string
03:返回函数(function)
function fn3(){
    return function(){
        alert("1");//heihei
    }
}
alert(fn3());
alert(fn3()());//1
/*
    fn3() == fn(){alert("1");}
    如果药弹出里面的1
    fn3()();
*/
function fn1(a){
    return function(b){
        alert(a + b) //30
    }
}
fn1(20)(10);
03:返回对象(object)
function fn3(){
    return window;
}
alert(fn3());//object window
fn3().onload = function(){
    //document.body.innerHTML = "123"
    getId("btn1").onclick = function(){
        alert("1111")
    }
}
function getId(id){
    return document.getElementById(id);
}
04:返回数组(array)
function fn1(n){
    var arr = [];
    for(var i=1;i<=n;i++){
        arr.push(i);
    }
    return arr;
}
alert(fn1(8))//1,2,3,4,5,6,7,8
function fn2(n,m){
    var arr = [];
    var tmpArr= [n,m];//[2,5] [6,2]
    if(n < m){
        n = tmpArr[0];//2
        m = tmpArr[1];//5
    }else{
        m = tmpArr[0];//6
        n = tmpArr[1];//2
    }
    for(var i=n;i<=m;i++){
        arr.push(i);
    }
    return arr;
}
alert(fn2(2,5))//2,3,4,5
alert(fn2(6,2))//2,3,4,5,6
05:返回json
var t;
(function() {
    t = {"id":"2"};
    return t.id;
})();
alert(t.id);//2
function fn5(){
    var obj = {"id":10,"name":"simon"}
    return obj;
}
alert(fn5());//object object
alert(fn5().id)//10
alert(fn5().name)//simon
06:返回未定义(undefined)
function fn1(){
    return;
}
alert(fn1());//undefined 所有的函数默认返回值都是未定义
function fn2(){
    return 123;//return 后面跟什么样的代码都不会执行
    alert("test");
}
alert(fn2());//123
总结
01:函数名()-->xx() = return后面的值

02:所有函数默认返回值都是未定义

03:return后面任何代码都不会执行

04:oXX.onmouseout = Test; 事件调用不能加括号,一旦加上括号,就是函数名称加括号就等于函数的返回值。如果函数里没有返回值就是undefined
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值