先来创建一个匿名函数对象:

/***
* 匿名函数
*/
var callChangeBtn=new function(bugBtn){
this.chage=function(json){
bugBtn.removeAttribute("disable");
bugBtn.innerHTML="立即购买";
console.log(json);
} }(event.target);

  用new构造一个匿名函数对象,该对象有两个作用:

1、存了你要回调方法要使用的购买button element对象即你要传的数据。

2、为该对象定义回调方法的实现。

我们在ajax的回调方法要写成:

success:callChangeBtn.chage

  

参考资料1:

function ManageCallback(TargetTag)
{
this.Success=function(Json){
if(Json.Status==1){
//alert(Json.Message);
TargetTag.innerText = Json.Message;
//window.location.reload();
}else{
TargetTag.innerText = Json.ErrorMessage;
//alert(Json.ErrorMessage);
}
}
} function Manage(ID, Type, Action, NeedToConfirm, TargetTag)
{
if(NeedToConfirm?confirm("确定执行该操作?"):true){
TargetTag.innerText = "Loading";
var CallbackObj=new ManageCallback(TargetTag);
$.ajax({
url:WebsitePath+"/manage",
data:{
ID: ID,
Type: Type,
Action: Action
},
cache: false,
dataType: "json",
type: "POST",
success: CallbackObj.Success
});
}
}

  参考资料2: javascript中匿名函数调用的多种方法

方式1,调用函数,得到返回值。强制运算符使函数调用执行

(function(x,y){
alert(x+y);
return x+y;
}(3,4));

  方式2,调用函数,得到返回值。强制函数直接量执行再返回一个引用,引用再去调用执行

(function(x,y){
alert(x+y);
return x+y;
})(3,4);

  

这种方式也是很多库爱用的调用方式,如jQuery,Mootools。

方式3,使用void

void function(x) {
x = x-1;
alert(x);
}(9);

  方式4,使用-/+运算符

-function(x,y){
alert(x+y);
return x+y;
}(3,4); +function(x,y){
alert(x+y);
return x+y;
}(3,4); --function(x,y){
alert(x+y);
return x+y;
}(3,4); ++function(x,y){
alert(x+y);
return x+y;
}(3,4);

  方式五

方式5,使用波浪符(~)

~function(x, y) {
alert(x+y);
return x+y;
}(3, 4);

  方式6,匿名函数执行放在中括号内

[function(){
console.log(this) // 浏览器得控制台输出window
}(this)]

  方式7,匿名函数前加typeof

typeof function(){
console.log(this) // 浏览器得控制台输出window
}(this)

  方式8,匿名函数前加delete

delete function(){
console.log(this) // 浏览器得控制台输出window
}(this)

  方式9,匿名函数前加void

void function(){
console.log(this) // 浏览器得控制台输出window
}(this)

  方式10,使用new方式,传参

new function(win){
console.log(win) // window
}(this)

  方式11,使用new,不传参

new function(){
console.log(this) // 这里的this就不是window了
}

  方式12,逗号运算符

1, function(){
console.log(this) // window
}();

  方式13,按位异或运算符

1^function(){
console.log(this) // window
}();

  方式14,比较运算符

1>function(){
console.log(this) // window
}();

  

javascript 利用匿名函数对象给你异步回调方法传参数的更多相关文章

  1. 前端笔记之JavaScript(九)定时器&JSON&同步异步/回调函数&函数节流&call/apply

    一.快捷位置和尺寸属性 DOM已经提供给我们计算后的样式,但是还是觉得不方便,因为计算后的样式属性值都是字符串类型. 不能直接参与运算. 所以DOM又提供了一些API:得到的就是number类型的数据 ...

  2. 谈谈Javascript的匿名函数

    JQuery 里面有这么一种代码: (function(){ // code here })(); 当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来,神奇吧! 要说匿名函数 ...

  3. 【转载】javascript中的函数对象

    原文地址:http://www.cnblogs.com/phpzxh/archive/2009/09/16/1568137.html[侵删] 在javascript中函数的申明方式有四种 下面代码中一 ...

  4. JavaScript中匿名函数this指向问题

    this对象是在运行时基于函数执行环境绑定的,在全局函数中,this=window,在函数被作为某个对象的方法调用时,this等于这个对象. 但是匿名函数的执行环境是全局性的,所以匿名函数的this指 ...

  5. C++11用于计算函数对象返回类型的统一方法

    [C++11用于计算函数对象返回类型的统一方法] 模板 std::result_of 被TR1 引进且被 C++11 所采纳,可允许我们决定和使用一个仿函数其回返值的类别.底下,CalculusVer ...

  6. 函数对象的call()、apply() 方法区别

    函数对象的call().apply() 方法 函数作为对象提供了call(),apply() 方法,他们也可以用来调用函数,这两个方法都接受一个对象作为参数,用来指定本次调用时函数中this的指向: ...

  7. javascript . 04 匿名函数、递归、回调函数、对象、基于对象的javascript、状态和行为、New、This、构造函数/自定义对象、属性绑定、进制转换

    匿名函数:   没有名字的函数,函数整体加小括号不报错, 函数调用 : a:直接调用 (function (){函数体}) ( ) ; b:事件绑定 document.onlick = functio ...

  8. Javascript之匿名函数

    分析: 1.所谓匿名函数,从字面意思理解,就是没有名字的函数,js 用()来代替(注意,是英文状态下的括号) 2.定义形式: function (){ //to add codes that you ...

  9. Javascript的匿名函数与自执行

    1.匿名函数 函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途.匿名函数:就是没有函数名的函数. 1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式 第一种: ...

随机推荐

  1. 用profile分析算法性能

    在命令行输入:profile viewer 会出现如下图所示探查器: 在运行此代码的后面的输入框中输入要运行的程序,然后点击启动探查,就会自动探查. 探查结束之后,会给出每个函数的调用次数.运行时间等 ...

  2. Python中为feedparser设置超时时间教程

    python有一个用于解析feed的模块:feedparser,feedparser解析各种feed是非常方便的,唯一比较恼火的是遇到一些badurl,经常会导致堵塞,因此需要为feedparser设 ...

  3. BackgroundWorker组件的作用

    当构建一个图形化的Windows Form桌面应用程序并且需要执行在应用程序主UI线程之外的线程中长时间的任务时,BackgroundWorker类就很有用了. 要使用BackgroundWorker ...

  4. Android Soap实例

    // 指定命名空间 private static final String NAMESPACE = "http://WebXml.com.cn/"; // 给出接口地址 priva ...

  5. OD调试16

    今天还是15的那个程序,但是呢,换一种方法去掉NAG窗口 用OD载入,暂停,查看调用的堆栈 先看最后一个    查看调用,下断点 往上看看,找到入口的地方,设下断.点,重载,运行,单步 通过单步发现 ...

  6. Asp.net Web.Config - 配置元素 trace

    一.trace的元素的属性 属性 说明 enabled 是否启用应用程序跟踪.为了使用 Trace.axd 查看器,必须启用跟踪.默认情况下,Trace.axd 查看器被添加到httpHandlers ...

  7. jquery jqPlot API 中文使用教程

    jqPlot是一个灰常强大的图表工具,曲线,柱状,饼图,应该有尽有,更要命的是,调用方便~~ 官网:http://www.jqplot.com/ 这里贡献上中文教程,基本上所有的api都很齐全,供有需 ...

  8. 模拟jQuery库

    用js模拟jQuery方法,体会封装思想 <!DOCTYPE html><html><head><meta charset="UTF-8" ...

  9. 解决Android应用安装快完毕时提示签名冲突

    最近开发了一个Android手机应用,自己用Eclipse调试安装没问题,使用其他人调试生成的bin下的apk就会出现问题,安装到最后提示"安装签名冲突"错误,想了一下估计是没有给 ...

  10. C语言拾遗

    1. 没C++那么恶心的const C语言中的const修饰符用于修饰一个变量是const属性的.被C语言的const修饰的变量具有只读属性,并且不能被修改. const修饰的变量 != 常量,con ...