-
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[js] 第10天 简要描述下什么是回调函数并写一个例子出来 #30
Comments
通常将一个函数B传入另一个函数A,并且在 需要的时候再调用函数A。 |
dom.addEventerlisten('click',function(){
// do something
}) |
|
回调函数就是指函数在初始定义的时候先不执行,等满足一定条件以后再拿出来执行。如下: |
|
回调函数首先作为一个函数的参数传入,当这个函数执行后再执行的函数,往往会依赖前一个函数执行的结果。 // 第三个参数就是回调函数
function func1(param1, param2, ..., callback){
// To do some action
// 往往会在最后调用 callback 并且传入操作过的参数
callback(cbParam1, cbParam2, ...)
}
// 实际调用的时候
func1(param1, param2, ..., (cbParam1, cbParam2, ...) => {
// To do some action
}) 当有过个任务需要顺序执行时,如果采用回调函数的形式就会出现我们熟悉的“回调地狱”的情况。为了解决这个问题,在 ES6 中就有了 |
简单的这个算吗 |
不算 你这是递归 |
function longTask(callback,timeout) {
setTimeout(callback,timeout)
}
longTask(()=>{console.log("回调任务被执行了");},2000);
console.log("我是同步代码 不会阻塞我"); |
function a() { |
// 比较简单的就是快排算法 |
[1,2,3].map(x=>x+1) |
不知道这个算不算,以前对请求方法做了一个简化,success和error算是回调函数吧,我的理解就是把函数当做参数放到另一个函数中。。 GET: function (url, data, success, error) {
$.ajax({
type: 'get',
url: url,
dataType: "JSON",
success: function (result) {
success(result)
},
error: function erryFunction(err) {
error(err);
}
});
},
GET(url,data,function(res){
//deal success result
},function(err){
//deal error result
}) |
我对回调函数的理解就是,定义了一个函数,不去调用他,但是这个函数会在特定时间条件下被调用 |
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 |
回调函数一般用来解决异步请求: /**
* 普通语法
* @param scr:图片的url地址
* @param callback:图片加载成功的回调函数
* @param fail:图片加载失败的回调函数
*/
function loadImg(scr, callback, fail) {
var img = document.createElement('img');
// onload 事件在图片加载完成后立即执行,成功后执行callback函数,相当于一个回调函数。
img.onload = function () {
callback(img) // 图片加载成功执行的回调函数,传入img
};
// 图片加载失败执行这个函数
img.onerror = function () {
fail() // 图片加载失败执行的回调函数,传入img
};
img.src = scr
}
var src = 'https://cdn.segmentfault.com/sponsor/20200202.png';
// 调用函数,传入2个回调函数,第一个是成功的回调,第二个是失败的回调。
loadImg(src, function (img) {
console.log(img.width) // 回调函数里打印图片的宽
}, function () {
console.log('failed') // 这个是失败的回调函数
}); |
回调函数任何一个函数都可以是回调函数,他单纯的就是一个函数 高阶函数有很多说法都是,把函数作为参数传入另一个函数就是回调函数,其实这是 因为平时见到的大部分回调函数的应用,都是通过高阶函数来完成的 回调函数的应用在 $("#btn_1").click(function() {
alert("Btn 1 Clicked");
}); 理解简单理解,就是满足某个条件的时候去调用一个函数,这个被调用的就是回调函数 |
回调函数是作为其他函数的参数的函数 function loggle(msg, cb) {
setTimeout(function () {
// cb 是 print 回调函数的引用
cb(msg);
}, 1000)
}
// 我就是回调函数
function print (msg) {
console.log(msg); // Hello
}
// 一秒后打印 message
loggle('Hello', print); |
function doso(callback){ |
回调函数是,一个函数作为另一个函数的参数,当某个特定的条件发生,作为参数的函数就被执行。
|
回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。 function a(callback) {
callback(1,2)
}
a(function (a,b) { // 匿名回调函数
console.log(a*b) // 2
}) |
回调函数: 当一个操作是异步的时候,此时为了获取异步的返回值,通常使用回调函数来接收值
这里说下异步操作: function asyncFn (fn) { asyncFn(val => { 时隔一秒后打印5 |
回调函数就是一个通过函数指针调用的函数。 如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 function(callback,url) {
} |
回调是把一个函数作为参数传递给另一个函数,当该函数满足某个条件时触发该参数函数。 function longTask(callback,timeout) { |
回调函数,不马上执行,而是等到一些方法操作成功后才会执行。 |
作为参数传递的函数, |
简单的说,就是一个函数在另一个函数内部杯调用
|
function callback(){ test('我怎么知道',callback); |
含义function print(callback) {
callback();
} 在上述代码中,print() 函数将另一个函数作为参数,并在函数体内调用它,这叫做回调 被传递给另一个函数作为参数并且最终被调用的函数叫做回调函数 作用回调函数能帮助我们编写异步代码(I/O、HTTP 请求等),它能确保函数在某个任务完成之前不运行,在任务完成后立即运行 实现// 在控制台打印一条消息(message),它在 3 秒之后显示
const message = function() {
console.log("This message is shown after 3 seconds");
}
setTimeout(message, 3000);
// ES6
setTimeout(() => {
console.log("This message is shown after 3 seconds");
}, 3000); message 函数是在发生某事之后(在本示例中为 3 秒之后),而不是在此之前被调用。因此,message 函数就是一个回调函数 |
一个函数被作为参数传递给另一个函数,并在其中被调用。特点是:自己定义的函数;你没有调用;最终它执行了。 |
回调是把一个函数作为参数传递给另一个函数,当该函数满足某个条件时触发该参数函数。 function longTask(callback,timeout) { |
回调函数:将回调函数a作为参数传入另一个函数b,在b执行中,满足某个条件时执行a。常用来获取且处理异步任务返回的数据。 function getName (callback) {
setTimeout(() => Promise.resolve('myName').then(callback), 3000);
} |
回调函数是一个作为变量传递给另外一个函数的函数,它在主体函数执行完之后执行 |
回调函数:可以理解一个把一个函数当做参数传给一个函数,可以理解为高阶函数,在函数内中执行时,满足某个条件时会执行该参数去执行回调,通常用来处理异步任务。 |
有两个函数,函数a和函数b,函数a的参数是函数b,当函数a执行完以后再执行函数b,函数b就是回调函数 |
|
// js里函数可以是一等公民,可以作为函数参数传递,并在函数里执行或返回,在需要调用的时候再去调用就是回调函数 const fn = (fn) => { fn(callbakck) |
函数参数为另一个函数,在需要的时候调用。 function func1 (a, callback) {
callback(a++)
}
func1(1, function(b) {
console.log(b)
}) |
第10天 简要描述下什么是回调函数并写一个例子出来
The text was updated successfully, but these errors were encountered: