javascript回调函数,javascript回调函数能不能修改外部变量

JavaScript里面的回调函数(callback)怎么传参数?

在Javascript 中,特别是在AJAX中,回调函数常常是一个函数名,没有地方放入参数,如下面的AJAX代码,在成功后将调用回调函数callback,但callback是有参数的,如何把参数传进来呢?

株洲ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

var callback = function(p1){

//do something

}

var ajaxSetting = {

url: url,

timeout:me.timeout,

type: method,

contentType: "application/json",

dataType: "json",

cache: false,

async: async,

data: p_data,

success: callback

},

error: function(p_request, p_status, p_err) {

}

};

解决的办法是利用匿名函数:

success: function(result){

callback(p1_actual);

}

其中pa_actual是已知的参数,可以是function类型。

javascript form.submit()有无回调函数,可以返回一段信息吗?

直接submit整个页面都刷新了。

要想有回调函数的话,可以采用异步提交的方法。

如jQuery.json(url,params,function call(data){

//这里写回调处理内容。data是返回的数据

},"json")。

url是提交表单路径。params是提交的表单参数。data是返回的数据,"json"指定返回格式是json,具体的请参考jQuery api

【function】

在JavaScrip中,function是内置的类对象,也就是说它是一种类型的对象,可以和其它String、Array、Number、Object类的对象一样用于内置对象的管理。因为function实际上是一种对象,它可以“存储在变量中,通过参数传递给(别一个)函数(function),在函数内部创建,从函数中返回结果值”。

因为function是内置对象,我们可以将它作为参数传递给另一个函数,延迟到函数中执行,甚至执行后将它返回。

【回调函数】

回调函数来自一种著名的编程范式——函数式编程,在基本层面上,函数式编程指定的了函数的参数。

回调函数被认为是一种高级函数,一种被作为参数传递给另一个函数(在这称作"otherFunction")的高级函数,回调函数会在otherFunction内被调用(或执行)。回调函数的本质是一种模式(一种解决常见问题的模式),因此回调函数也被称为回调模式。

javascript 怎么在回调函数内,修改外部变量

js在回调函数内,修改外部变量的方法常用async参数。

代码举例如下:

var async = require('async');

function get_time_line() {

var list = []; // List 不能为一个空数组,不然循环个屁啊

var getValue = function(li,oneDone){

// li.key 是你每个数组元素中的参数,你自己改吧

db.hget(li.key, 'time_line', function(err, reply) {

// 存到每个元素里去

li['newValue'] = reply;

// 做好了

oneDone()

});

}

async.each(lists,getValue,function(err,result){

if (!err) {

// 全都抓完了,输出最后有newValue的list

console.log(lists);

// do sth. else

}

});

};

以上是node.js中最常用的修改内部变量的方法。

javascript 中怎么给回调函数传值

简单,很多方法都定义了回调函数,回调函数也是函数,就是说不管怎么传,只需要是个函数类型即可。写法如下。

方式1,

doAjax(参数1,参数2,function(request,opts){

callback(request,opts,agrs);

});

function callback(request,opts,args){

};

方式2,

var args=N;

doAjax(参数1,参数2,function(request,opts){

var X=N;

回调函数代码块..

和以上几乎一样,看个人编码方式选择。

});

javascript的回调函数里如何传递参数

function doAjax(u,param,callback){

$.ajax({

type:'POST',

url:u,

data:param,

success:callback

});

}

function showAlert(data,test1,test2){

alert(data+" "+test1+" "+test2);

}

window.onload = doAjax("server.php","id=12type=1",function(data){showAlert(data,3,5)});

执行doAjax的时候,回调函数的调用改一下就可以了。

测试过没问题。


当前标题:javascript回调函数,javascript回调函数能不能修改外部变量
标题来源:http://csdahua.cn/article/dsigsch.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流