zoukankan      html  css  js  c++  java
  • 匿名函数

    拉姆达(lambda)函数

    /*
    ECMA-262 对象定义:无序属性的集合,散列表
    构造函数始终要已一个大写字母开头,非构造小写开头
    */
    var p  = new Object();
    p.name = "cj";
    p.say  = function(){this.name};
    //缺点:使用同一个接口创建很对象,大量的垃圾重复代码

    //工厂模式   问题 没有解决对象识别(怎么知道一个对象的类型)
    function createP(name,age){
        var o = new Object();
        o.name =name;
        o.age = age;
        o.say =function(){this.name};
        return o;
    }

    //构造函数模式
    function p(name,age){
        this.name =name;
        this.age =age;
        this.say =function(){this.name};
    }
    /*与工厂的区别,没有显示创建对象 直接将属性和方法赋给了this对象 没有return
    使用NEW
    1 创建一个新对象
    2 将构造函数的作用域赋给新的对象(this就指向了这个新的对象)
    3 执行构造函数中的代码(为这个新对象添加属性)
    4 返回新对象
    */


    //构造函数,函数的唯一区别, 调用它们的方式不同
    //每个函数都有一个prototype属性,这个属性也是一个对象,对象的一个副本
    function P(){}
    P.prototype.name ="";
    p.prototype.say=function(){this.name};

    //创建函数,默认下prototype会自动获得一个constructor属性 包含指向PRO属性的所有函数指针



  • 相关阅读:
    hdu4738(双连通分量)
    hdu4635(强连通缩点)
    hdu4612(双连通缩点+树的直径)
    poj3177(边双连通分量+缩点)
    poj3694(tarjan缩点+lca)
    hdu5171(矩阵快速幂)
    uva796(求桥数目)
    uva315(求割点数目)
    POJ1058 The Gourmet Club
    POJ1057 FILE MAPPING
  • 原文地址:https://www.cnblogs.com/aaronjs/p/2167735.html
Copyright © 2011-2022 走看看