day002——前端(filter,hasOwnProperty)

{
            //第七题
            function showMoney(){
                return this.money;
            }

            var personA = new Object();
            var personB = new Object();
            personA.money = '100';
            personB.money = '150';
            personA.showMoney = showMoney;
            personB.showMoney = showMoney;

            // console.info(personA.showMoney());
            // console.info(personB.showMoney());
        }

        {
            //第八题
            
            /** 
                为了判断一个对象是否包含自定义属性而不是原型链上的属性,可以使用hasOwnProperty,但是如果你的对象也申明了hasOwnProperty属性的话, 
                我们需要使用继承自 Object.prototype 的 hasOwnProperty 方法。
            */

            var money = {
                hands:2,
                legs:2,
                heads:1,
                job:'PHP'
            }
            //在原型链上挂一个方法   
            if(typeof Object.prototype.clone == 'undefined'){
                Object.prototype.yyt = function(){
                    console.info('...');
                }
            }
            //直接遍历
            for(var j in money){
                console.info(j,':',money[j]);
            }
            console.info('------------------------我是分割线------------------------------');
            //利用hasOwnProperty
            for(var i in money){
                if(money.hasOwnProperty(i)){
                    console.info(i,':',money[i]);
                }
            }
            
            
        }
        console.info('------------------------我是分割线------------------------------');
        {
            //第九题
            function getNthFibonacci(count){
                if(count < 1){
                    return 1;
                }
                return getNthFibonacci(count -1) + getNthFibonacci(count - 2);
            }

            console.info(getNthFibonacci(10))
        }
        console.info('------------------------我是分割线------------------------------');
        {
            //第十题
            var data = {a:1,b:2,d:4};

            console.info(data)          //{a:1,b:2,d:4}
            console.info(Object.keys(data))     //["a","b","d"]

            let arr = Object.keys(data).filter(function(x){
                return data[x] > 2
            })
            console.info(arr)

            /**
                解析:
                filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 
            */
        }
        console.info('------------------------我是分割线------------------------------');
        {
            //第十一题
            function obj(name){
                if(name){
                    this.name = name; //-1-//  
                }
                return this;
            }

            obj.prototype.name = "name2"    //-2-//  
            var a = obj("name1");
            var b = new Object();

            a.name = "name1";
            b.name = "name2";
        }
        console.info('------------------------我是分割线------------------------------');

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值