精华内容
下载资源
问答
  • jQuery匿名函数定义

    千次阅读 2014-05-30 17:57:13
    jQuery匿名函数定义

            在项目的开发过程中,使用jQuery语言编写前端框架时,匿名函数是编写框架方法核心,懂得如何定和调用匿名函数,才是真正懂得运用jQuery,在都别人写的框架方法时,匿名函数也困扰了我很久,一直搞不明白。其实其原理并没有那么复杂,只是编写框架的人为了不然其他人那么容易看懂其代码,很多变量命名都与高级语言的命名都不一样,所以看起来特别费解,但是这些知识点往往是前端框架的核心,本人特别针对jQuery匿名函数进行了详细的讲解,代码如下,详见代码注释。

    (function (exports){
    	
    	var leo = {};  //定义一个私有变量,次变量外部不可以访问
    	//定义变量leo的一个方法pageArea,用于判断客户浏览器页面大小
    	leo.pageArea = function(){
    	//document.compatMode用来判断当前浏览器采用的渲染方式,用于调整浏览器的页面显示大小
    		if(document.compatMode === "BackCompat") {
    			return {
    				width : Math.max(document.body.scrollWidth, document.body.clientWidth),
    //				width : document.body.clientWidth,
    				height : Math.max(document.body.scrollHeight, document.body.clientHeight)
    //				height : document.body.clientHeight
    			}
    		} else {
    			return {
    				width : Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth),
    				height : Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight)
    			}
    		}
    		
    	};
    	//定义$ID方法,用于返回指定id的对象,这个方法名用$ID而不是ID,是为了区别id与jQuery方法,
    	//其实业内有个不成文的约定,jQuery的变量和方法前一般都加上$,以区别JavaScript的变量和方法
    	leo.$ID = function(id){
    		return document.getElementById(id);
    	};
    
    	leo.$H = function(){
    		//业务方法略
    		return this;
    	};
    	leo.$SH = function(id){
    		//业务方法略
    	};
    	//定义启动方法,用于设置调用其他方法的时间间隔,其中参数fn为要调用的函数名,id为传给fn方法的id参数
    	leo.start = function(fn,id){
    		var that = this;
    		setInterval(function(){
    			fn.call(that,id);
    		},150);
    	};
    	//定义公有变量$J,外部可以访问,其中this为实参,exports为形参,
    	//此时exports为this,即$J变量前面加了this,所以$J为共有变量,
    	//并且把私有变量leo赋给公有变量$J,外部就可以通过$J访问私有对象leo的方法.
    	exports.$J = leo;  
    })(this);

            

    //其中content为div标签的id,这样匿名函数$SH就可以被调用
    $J.start($J.$SH,"content"); 

     以上是使用jQuery编写前端框架方法的核心,懂了这些原理,对阅读前端框架的方法、修改框架Bug和编写前端框架的方法就非常容易了。

    展开全文
  • java匿名内部类什么是匿名内部类?匿名内部类的使用场景?匿名内部类如何创建?匿名内部类的实现和使用例1(实现接口)例2(继承类) 什么是匿名内部类? 匿名内部类,顾名思义,就是不知道这个类到底是什么名字,也...

    什么是匿名内部类?

    匿名内部类,顾名思义,就是不知道这个类到底是什么名字,也就是不知道类名。

    匿名内部类的使用场景?

    匿名内部类适合创建那种只需要使用一次的类,也就是说创建一个匿名内部类,只需要用一次即可。

    匿名内部类如何创建?

    new 类名(参数) | 实现接口()
    {
    // 匿名内部类的类体部分
    }
    从上面的定义可以看出,匿名内部类必须继承一个父类,或实现一个接口,但最多只能继承一个父类,或者实现一个接口。
    两个规则:
    	匿名内部类不能是抽象类。
    	匿名内部类不能定义构造器。由于匿名内部类没有类名,所以无法定义构造器,但匿名内部类可以初始化块,可以通过初始化块来完成构造器需要完成的工作。
    

    匿名内部类的实现和使用

    例1(实现接口)

    首先,定义一个匿名类要实现的接口,代码如下

    public interface Product{
     double getPrice();
     String getName();
    

    然后,定义一个实体类,实体类定义一个方法,方法的参数为上述的接口对象,到时候会传入一个匿名类对象,这个匿名类实现了上述创建的接口,代码如下

    public class Anony{
    	public void test(Product product){
    	System.out.println("购买了一个"+product.getName()+",花掉了"+product.getPrice());
    	}
    }
    

    最后测试运行:

    pubic class Test{
    	public static void main(String[] args){
    		Anony anony=new Anony();
    		// 注意,此处要传入一个匿名类对象
    		anony.test(new Product(){
    			@Override
    			public double getPrice(){
    					return 578.6;
    				}
    			@Override
    			public String getName(){
    					return "联想笔记本";
    				}
    			}
    		);
    	}
    }
    

    输出:

    购买了一个联想笔记本,花掉了578.6
    

    总结:此处匿名内部类的作用就是实现了一个接口,创建了一个实现了该接口的类的对象,然后重写了这个接口中的方法。

    例2(继承类)

    首先,定义一个匿名类需要实现的抽象类,代码如下:

    public abstract class Device{
    	private String name;
    	public abstract double  getPrice();
    	public String getName(){
    	 	return name;
    	}
    	public Device(){}
    	public Device(String name){
    		this.name=name;
    	}
    } 
    

    然后,定义一个实体类,实体类定义一个方法,方法的参数为上述的抽象类对象,到时候会传入一个匿名类对象,这个匿名类继承了上述创建的抽象类,代码如下

    public class Anony {
    
        public void test(Device device){
            System.out.println("购买了一个"+device.getName()+"花费了"+device.getPrice());
        }
    }
    

    最后测试运行:

    pubic class Test{
    	public static void main(String[] args){
    		Anony anony=new Anony();
    		// 注意,此处要传入一个匿名类对象
    		anony.test(new Device("海尔电视机"){
    			@Override
    			public double getPrice(){
    					return 578.6;
    				}
    		);
    		Device device=new Device(){
    			@Override
    			public double getPrice(){
    				return 556.56;
    			}
    			@Override
    			public String getName(){
    				return "美的电视机";
    			}
    		};
    		annoy.test(device);
    	}
    }
    

    输出:

    购买了一个海尔电视机,花掉了578.6
    购买了一个美的电视机,花掉了556.56
    

    总结:对象匿名类中继承抽象类,对于抽象类里面的抽象方法,必须要重写,对象抽象类里面的非抽象方法,可重写也可以不重写。

    展开全文
  • 函数定义 匿名函数

    2016-12-23 21:48:45
    匿名函数 函数 定义

    函数定义有三种方式:
    1 function + 函数名+(形参){
    代码块
    }
    2 var 函数名 = function (形参){
    代码块
    };
    3 var 函数名 = new Function (形参 ) {
    代码块
    };
    4 注意:
    a 第一种函数的声明方式,在预解析的时候会进行函数提升,也是用的最多的一种方式,避免调用函数的代码没有前后的要求。
    b 函数的定义形参和返回值可以根据需要定,其中形参可以传入简单数据类型(Number String 等)以及也可以直接传入 函数或者对象,注意传入函数的时候只需要传入函数名,对象也是。(传入地址即可)
    5 第二种的函数定义方式经常用在事件的绑定上,最常用的是第一种。
    6

    // fn1();
    function fn1(){
        console.log("我是fn1");
    }
    fn1();
    

    第一种定义方式无论调用在函数的定义之前或者之后都可以调用

    // fn2();
    var fn2 = function (){
        console.log("我是fn2");
    }
    fn2();
    
     // fn3(3,4);
    var fn3 = new Function(a,b){
        return a+b;
    }
    fn3(3,4);
    

    第二 三种定义在函数之前执行代码会报错,因为浏览器是一行一行执行代码,调用函数必须在定义函数之后

    匿名函数:没有函数名字的函数称为匿名函数,一般经常用于事件的绑定。

    function () {
            console.log("我是匿名函数");
        }
    

    匿名函数不能直接出现在script标签中,执行会报错:

    <script>
        function () {
            console.log("我是匿名函数");
        }
    </script>   
    

    控制台报错:Uncaught SyntaxError: Unexpected token (

    展开全文
  • 主要介绍了C#用匿名方法定义委托的实现方法,涉及C#匿名方法与委托的相关使用技巧,需要的朋友可以参考下
  • 主要介绍了Java中的匿名对象定义与用法,结合实例形式分析了java匿名对象的概念、原理、定义与相关使用注意事项,需要的朋友可以参考下
  • 主要介绍了Python 如何定义匿名或内联函数,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
  • 定义匿名内部类的前提:内部类必须是继承一个抽象类或者实现接口。只要一个类是抽象的或是一个接口,那么其子类中的方 法都可以使用匿名内部类来实现  3.匿名内部类的格式: new 父类或者接口(){定义子类的内容} ...
    一.匿名内部类:
    
      1.匿名内部类其实就是内部类的简写格式。
      2.定义匿名内部类的前提:内部类必须是继承一个抽象类或者实现接口。只要一个类是抽象的或是一个接口,那么其子类中的方    法都可以使用匿名内部类来实现
      3.匿名内部类的格式:  new 父类或者接口(){定义子类的内容}
      4.其实匿名内部类就是一个匿名子类对象。而且这个对象有点胖。可以理解为带内容的对象。
      5.匿名内部类中定义的方法最好不要超过3个。
    二.通过继承一个抽象类来定义匿名内部类。
    package com.saiermeng;
    abstract class AbsDemo
    {
    abstract void show();


    }
    class Outer4
    {
    int x = 3;
        public void function()
    {
                 AbsDemo d = new AbsDemo()
    {
    int num = 9;
    void show()
    {
    System.out.println("num==="+num);
    }
    void abc()
    {
    System.out.println("haha");
    }
    };


    d.show();
         }
    }
    class InnerClassDemo4 
    {
    public static void main(String[] args) 
    {
    new Outer4().function();
    }
    }
    运行结果是:
    num===9
    三.通过实现一个接口来定义匿名内部类。
    package com.saiermeng;
    interface Inter0{
    void method();

    }
    class Test0{
    static Inter0 function(){    


    return new Inter0(){      //new 就是新建了一个实现接口抽象方法的对象



    public void method() {
    System.out.println("method run");

    }

    };
    }
    }


    public class InnerClassTest0 {
    public static void main(String[]args){
    Test0.function().method();
    // 通过一个方法得到实现接口的子类对象,通过对象调用方法,就得到了Test0.function().method();
    show(new Inter0(){



    public void method() {
    System.out.println("method show run");

    }

    });

    }
    public static void show(Inter0 in){
    in.method();
    }
    }
    运行的结果是:
    method run
    method show run



    展开全文
  • 视频地址: python之lambda定义匿名函数详解 更多精彩内容,敬请扫码关注:  
  • Matlab中内联、匿名函数定义和调用

    千次阅读 2016-11-13 12:46:34
    Matlab中内联、匿名函数的定义使用
  • 主要介绍了Java局部内部类和匿名内部类,结合实例形式分析了java局部内部类和匿名内部类相关定义、原理与用法,需要的朋友可以参考下
  • 主要介绍了C#编程中嵌套类型和匿名类型的定义与使用,包括在SQL语句中使用匿名类型的方法,需要的朋友可以参考下
  • 匿名函数(英语:Anonymous Function)在计算机编程中是指一类无需定义标识符(函数名)的函数或子程序,普遍存在于多种编程语言中。—wikipedia Golang是支持匿名函数的,即在需要使用函数时,再定义函数,匿名函数...
  • java匿名类的定义

    2018-03-30 11:51:00
    2.** 匿名定义匿名类对象创建对象的表达式中(new 表达式)** new Person(){ public void eat(){ System.out.println(" a boy is eating rice"); } }; 3. 匿名类必须实现某个接口(超类是...
  • python匿名函数的定义和使用

    千次阅读 2019-06-09 16:33:52
    演示匿名函数的定义和使用 需求:字符串数据'This is \n a \ttest' --> 得到'This is a test' 步骤一:使用字符串的split()函数-->作用:可以默认去除字符串中的空格、\n、\t等内容 然后将字符串数据以...
  • 文章地址: python之使用lambda定义匿名函数实现计算器功能 更多精彩内容,敬请扫码关注(HelloWorld小码农):  
  • 匿名内部类如何访问在其外面定义的变量:匿名内部类不能访问外部类方法中的局部变量,除非该变量被声明为final类型 这里所说的“匿名内部类”主要是指在其外部类的成员方法内定义的同时完成实例化的类,若其访问该...
  • 1.匿名函数的定义 匿名函数指一类无须定义标识符的函数或自程序,Python用lambda语法定义匿名函数,只需用表达式而无须申明。(省略了用def声明函数的标准步骤) 函数语法lambda *args, **kwargs:(args,kwargs) ...
  • 解决C++重定义问题--匿名命名空间

    千次阅读 2019-10-30 17:47:56
    今天遇到一个命名空间重定义的问题,程序框架大体如下: interface中定义的是一个namespace, 形式如下: namespade np { int a = 1; int b = 2; }; 并且三个module(1,2,3),以及core模块全都需要引用这个命名...
  • 1、函数的定义 函数定义的两种方式: 函数声明 function 函数名(形参){ // 函数体 } 函数表达式 var 函数名 = function(){ // 函数体 } 两种方式的区别: 函数声明——在函数声明前可以调用该...
  • 函数的定义,大致可分为三种方式: 第一种:这也是最常规的一种 1 2 3 function double(x){   return 2 * x;  } 第二种:这种方法使用了Function构造函数,把参数列表和函数体都作为...
  • #include "stdafx.h" #include int _tmain(int argc, _TCHAR* argv[]) { int i = 0; int j = 0; [i, j](int k, int j) { std::cout , " ; }(1, 2);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 308,141
精华内容 123,256
热门标签
关键字:

匿名的定义