匿名函数

拉姆达(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属性的所有函数指针

本文转自艾伦 Aaron博客园博客,原文链接:http://www.cnblogs.com/aaronjs/archive/2011/09/05/2167735.html,如需转载请自行联系原作者


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值