JavaScript-7-函数参数、匿名函数、lambda

isNaN():非数字
alert()
prompt()
confirm()
console.log()

函数参数

  1. 默认值参数

    function add1(a,b,c=0) {
        sum=a+b+c;
        console.log(sum);
    }
    add1(1,2); /* 3 */
    
  2. 不定长参数
    不定长参数为对象

    function add2(a,b,...c) {
        // console.log(typeof c); /* object */
        var sum=a+b;
        for (var i of c){
            sum+=i;
        }
        console.log(sum);
    }
    add2(1,2,3,4,5); /* 15 */
    

函数类型

  1. 普通函数

    function add() {
        alert('add');
    }
    
  2. 函数表达式/匿名函数:有this

    var sub=function () {
        alert('sub');
    };
    sub();
    

    !!!回调函数!!!

    function add(a,b,func) {
        var c=a+b;
        func(c);
    }
    add(1,2,function (q) { /* function 匿名函数 */
        alert(q);
    })
    
  3. lambda函数 => 无this
    无作用域,无隔离区

    python 无作用域,有隔离区

    标志为 =>,()=>{}

    var sub=(a,b,c)=>{
    	return a+b+c;
    }
    
    var sub=(a,b,c)=>a+b+c;
    
    var sub2=a=>a+a+a;
    

    调用:

    var res=sub(1,2,3);
    alert(res);
    

匿名函数有this,lambda函数无this

<body>
<input type="button" id="btn1" value="login....">
<script>
    var btn=document.getElementById('btn1');

    /* 1. 匿名函数有 this */
    btn.onclick=function () {
        setTimeout(function () {
            this.value='登录...' /* this != btn */
        },1000)
    };

    /* 2. lambda没有 this */
    btn.onclick=function () {
        setTimeout(()=>{
            this.value='登录...' /* this == btn */
        },1000)
    };

</script>
</body>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值