原型设置深入理解JavaScript系列阅读笔记(5):强大的原型和原型链

每日一贴,今天的内容关键字为原型设置

    如何将其他对象设置到某个对象的原型上:

    声明一个对象

var BaseCalculator = function(){
    this.decimaldigits = 2;
};
BaseCalculator.prototype = {
    add:function(x,y){
        return x + y;
    },
    sub:function(x,y){
        return x - y;
    }
}
我们再来声明另一对象
var Calculator = function(){
    this.tax = 2;
};
如果要将BaseCalculator对象设置Calsulator的原型上有两种方式:

    1. Calculator.prototype = new BaseCalculator();//因为Calculator的原型是指向BaseCalculator的实例上的,所以可以访问他的decimalDigits属性值

    每日一道理
最为值得珍惜的是今天,因为最容易流逝的就是今天,把握今天就是把握希望,分分秒秒只是瞬间,而所乘载的分分秒秒就叫做一天,时间的流逝往往是在不经意之间,人生几回,青春更珍贵,对于我们这个年龄的青少年来说,青春已不足二十载,在学习的生活中我们必须靠自己的力量,驾驭着自己的小船驶向希望的彼岸。

    2. Calculator.prototype = BaseCalculator.prototype;//将BaseCalculator的原型赋给Calculator的原型,在Calculator的实例上访问不到那个decimalDigits值了

    重写原型时,重写的代码须要放在最后,这样才能覆盖后面的代码。

    当检查对象上某个属性是否存在时,hasOwnProperty 是独一可用的方法。同时在应用 for in loop 遍历对象时,推荐老是应用 hasOwnProperty 方法,这将会防止原型对象扩展带来的干扰。

    JavaScript 不会保护 hasOwnProperty 被非法占用,因此如果一个对象碰巧存在这个属性,就须要应用外部的 hasOwnProperty 函数来获取准确的结果:

var foo = {
    hasOwnProperty:function(){
        return false;
    },
    hello:"hello"
};
foo.hasOwnProperty("hello");//老是返回false

// 应用{}对象的 hasOwnProperty,并将其上下为设置为foo
{}.hasOwnProperty.call(foo,'bar');
 

文章结束给大家分享下程序员的一些笑话语录: 有一天,一个男人穿越森林的时候,听到一个细微的声音叫住他。他低头一看,是一只青蛙。
“如果你亲我一下,我会变成一个美丽的公主哦。”男人一言不发,把青蛙捡起来,放入口袋。
“如果你亲我一下,我会变成一个美丽的公主哦。而且,我会告诉我遇到的每一个人,你是多么聪明和勇敢,你是我的英雄。”男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
“如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一星期。”男人又把青蛙拿出来,对着它微微一笑,把它放回口袋。
“如果你亲我一下,我会变成一个美丽的公主,然后我愿意成为你的爱人一年,而且你可以对我做任何事。”再一次,男人把青蛙拿出来,对着它微微一笑,又把它放回口袋。
  最后,青蛙无力地问:“我开出了这么好的条件,为什么你还不肯吻我?”男人说:“我是一个程序员,我可没时间和什么公主鬼混。不过,拥有一个会说话的青蛙,倒是蛮酷的。”


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值