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

    /*    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. PHP跳出循环的方法及continue、break、exit的区别

    PHP中的循环结构大致有for循环,while循环,do{} while 循环以及foreach循环几种,不管哪种循环中,在PHP中跳出循环大致有这么几种方式: <?php $i = 1; wh ...

  2. javaWeb的基础知识

    在服务器中,端口号是比较重要的,要学会查看和修改.win7有cmd和任务管理器两种方法.同时区分include动作和指令. <%@ include file="url"> ...

  3. nodejs抓取页面内容,并分析有无某些内容的js文件

    nodejs获取网页内容绑定data事件,获取到的数据会分几次相应,如果想全局内容匹配,需要等待请求结束,在end结束事件里把累积起来的全局数据进行操作! 举个例子,比如要在页面中找有没有www.ba ...

  4. elasticsearch 安装配置详解

    一.安装 简单的安装与启动于前文ElasticSearch初探(一)已有讲述,这里不再重复说明. 二.启动 1.自带脚本启动 1)bin/elasticsearch,不太任何参数,默认在前端启动 2) ...

  5. int 4 bytes

    http://waynewhitty.ie/blog-post.php?id=19 MySQL - INT(11) vs BIGINT(11) vs TINYINT(11) This seems to ...

  6. JavaScript面向对象之函数构造器的理解

    1,在使用函数创建类时,函数本身也被称为该类的构造器,该类的构造器方法,该类的构造方法,该类的构造函数等等. 2,注意构造器方法是没有返回值的,当创建该类的实例时,必须调用该类的构造方法. 3,获取构 ...

  7. 【编译原理】c++实现自下而上语法分析器

    写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:ht ...

  8. iOS中类、元类、isa详解

    类相信大家都知道是什么,如果看过runtime的源码或者看过相关的文章对isa肯定也不陌生,不过元类(meta class)大家可能就比较陌生了.不过大家也不要担心,我会细细道来,让大家明白它到底是个 ...

  9. sparking water

    1 2 It provides a way to initialize H2O services on each node in the Spark cluster and to access dat ...

  10. 继承数组的slice方法

    <script> var arr=[1,2,3,4,5]; console.log(Array.prototype.slice.call(arr,1)); </script> ...