//回调函数: 把一个函数当参数传给另个函数

    /*    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));

[js]js中回调函数的更多相关文章

  1. JS的异步回调函数

    hi :)几日不见,趁着周末和父母在广州走走逛逛,游山玩水,放松身心,第一天上班就被一个问题难住了,不废话,以下是关于JS函数回调方面的知识,今天的查阅看的也是一知半解,摘录下来日后慢慢琢磨! js中 ...

  2. JS线程及回调函数执行

    JS是单线程的程序,在某些方面来讲并不是十分准确.在浏览器的内核里面有很多的模块,比如js的解释执行的模块,html.css的处理模块,渲染模块等,多数模块是单线程执行的,但是有几个模块是多线程的,比 ...

  3. Node.js标准的回调函数

    Node.js标准的回调函数:第一个参数代表错误信息,第二个参数代表结果. function (err, data) 当正常读取时,err参数为null,data参数为读取到的String.当读取发生 ...

  4. Python 调用JS文件中的函数

    Python 调用JS文件中的函数 1.安装PyExecJS第三方库 2.导入库:import execjs 3.调用JS文件中的方法 Passwd = execjs.compile(open(r&q ...

  5. $.getJSON('url',function(data){}) 中回调函数不执行

    $.getJSON('url',function(data){}) 中回调函数不执行 url 中的 json 格式不正确 ,浏览器返回并没有报错 {'湖北':[114.11438,30.849429] ...

  6. C++中回调函数(CallBack)的使用

    如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就不能通过. 其错误是普通的C++成员函数都隐含了一个传递函数作为参数,亦即“this”指针,C++通过传递this指针给其成员函数从而 ...

  7. Windows编程中回调函数的使用心得(MFC篇)

    回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在特定 ...

  8. qt 中回调函数的实现

    在QT中回调函数主要可以实现多态性,通过回调函数可以动态处理一些操作.在多线程中,当同时需要处理多个事务的时候,显然你会去创建多个线程类然后实例化,这显然会增加开发工作,当我们在线程类中加入一个回调函 ...

  9. node.js 中回调函数callback(转载),说的很清楚,看一遍就理解了

    最近在看 express,满眼看去,到处是以函数作为参数的回调函数的使用.如果这个概念理解不了,nodejs.express 的代码就会看得一塌糊涂.比如: 复制代码 代码如下: app.use(fu ...

  10. js中回调函数,promise 以及 async/await 的对比用法 对比!!!

    在编程项目中,我们常需要用到回调的做法来实现部分功能,那么在js中我们有哪些方法来实现回调的? 方法1:回调函数 首先要定义这个函数,然后才能利用回调函数来调用! login: function (f ...

随机推荐

  1. centos 7 配置hadoop与spark

    cd /home mkdir shixi_enzhaocd shixi_enzhaomkdir suaneccd suanecmkdir installsmkdir libsmkdir scripts ...

  2. 180714、JRebel插件安装配置与破解激活(多方案)详细教程

    JRebel 介绍 IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费不少生命啊.目前对于idea热部署最好的解决方案就是安装JRebel插件 ...

  3. ELK之使用kafka作为消息队列收集日志

    参考:https://www.cnblogs.com/fengjian2016/p/5841556.html    https://www.cnblogs.com/hei12138/p/7805475 ...

  4. linux_check

    linux_check echo "********CPU****************" echo 总核数 = 物理CPU个数 X 每颗物理CPU的核数 echo " ...

  5. 洛谷P1147 连续自然数和【二分】

    题目:https://www.luogu.org/problemnew/show/P1147 题意: 给定一个数m,问有多少个数对$(i,j)$,使得$i$到$j$区间的所有整数之和为m.输出所有的解 ...

  6. python 同时运行两个程序

    linux的话: python py1.py & python py2/py &

  7. Codeforces 670F - Restore a Number - [字符串]

    题目链接:https://codeforces.com/contest/670/problem/F 题意: 有一个非负整数 $n$,在它的右侧添上它的位数后,被发送出去:例如 $6510$,加上位数 ...

  8. CH 2601 - 电路维修 - [双端队列BFS]

    题目链接:传送门 描述 Ha'nyu是来自异世界的魔女,她在漫无目的地四处漂流的时候,遇到了善良的少女Rika,从而被收留在地球上.Rika的家里有一辆飞行车.有一天飞行车的电路板突然出现了故障,导致 ...

  9. Go所提供的面向对象功能十分简洁,但却兼具了类型检查和鸭子类型两者的有点,这是何等优秀的设计啊!

    Go所提供的面向对象功能十分简洁,但却兼具了类型检查和鸭子类型两者的有点,这是何等优秀的设计啊! <代码的未来>

  10. JDBC---Mysql(2)

    SQL注入攻击: 用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想知道的数据,这就是所谓的SQL注入攻击, 例如:判断username='a' or 'a'='a';  true从而为 ...