• [js]js中回调函数


     //回调函数: 把一个函数当参数传给另个函数
    
    
        /*    function f1() {
                console.log('f1');
            }
            function f2(f) {
                f();
                console.log(1);
            }
            f2(f1);*/
    
    
        //arr.forEache
        //1.回调函数: 执行5次
        //2.回调函数参数: item,index,arr
        var arr = [11, 22, 33, 44, 55];
    
        /*arr.forEach(function (i) {
            console.log(arguments);//3个参数[11, 0, Array(5)].
            console.log(i);
        });
        console.log('ok2');*/
    
        //自己传参
        /*arr.forEach(function (item,index,input) {
            console.log(item);
        });*/
    
    
        //forEach的特点
        //1.不返回值
        //2.不修改原来数组
    
        //但是可以手动修改
        /*var res = arr.forEach(function (item, index, input) {
            input[index] = item * 10;
            console.log(input);
        });
        console.log(arr);
        console.log(res);
    */
    
        //arr.map 1,克隆一份原arr 2,对克隆的进行修改
        /*   var res = arr.map(function (item, index, input) {
               return item * 10;  //return什么,就相当于修改当前item为啥
           });
           console.log(arr);
           console.log(res);*/
        //匿名函数中this是window
    
        var obj = {'name': 'maotai'};
    
        /*arr.forEach(function (item, index) {
            console.log(obj);
        }).call(obj);*/
    
        //forEach中的this是arr
        //匿名函数中的this是window
    
        /* arr.forEach(function (item, index) {
             console.log(obj);
         }, obj); //第二个参数意思是将匿名函数中this改为obj(默认window)*/
    
        //sort不支持传参改变匿名函数this指向
        /*arr.sort(function () {
            console.log(this);
        });*/
    
        //定时器不支持改变this, 是改变时间的
        /*  setTimeout(function () {
    
          },2000)*/
    
        //replace不支持传参改变匿名函数this指向
        /* 'maotai'.replace(/w/g, function () {
             console.log(this);
         })*/
    
        //对于不支持第二个参数的,使用bind来改变
        'maotai'.replace(/w/g, function () {
            console.log(this);
        }.bind(obj));
    
  • 相关阅读:
    MSDTC服务出错
    jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
    js:警惕firstChild
    基于jquery的表格排序
    jquery JSON的解析方式
    用JS jquery取float型小数点后两位
    JQuery之append和appendTo的区别,还有js中的appendChild用法
    js笔记之Math random()、ceil()、floor()、round()
    Oracle笔记
    STL: equal
  • 原文地址:https://www.cnblogs.com/iiiiiher/p/9999421.html
Copyright © 2020-2023  润新知