javascript - 关于Object.create 建立对象的问题?
PHP中文网
PHP中文网 2017-04-11 10:05:36
[JavaScript讨论组]
var yinhang = Object.create(Object.prototype,{
    type : {
        value : "建设银行",
        writable : true,
        enumerable : true
    },
    money : {
        get : function() {
           if(typeof money === "undefined" ) {
               return "账户中没有钱";
           }
           return money;
        },
        set : function(num) {
           money+=num;
           return "账户中有"+money
        }
    }

});

yinhang.money
// "账户中没有钱"
yinhang.money = 1000
VM893:16 Uncaught ReferenceError: money is not defined(…)

为什么给money赋值会报错呢?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
PHPz


账户中没有钱的时候,money的类型是undefined,当你写money+=num的时候,实际上是money=money+num,此处的money是未定义的,不能加num,稍微修改一下即可

var yinhang = Object.create(Object.prototype,{
        type : {
            value : "建设银行",
            writable : true,
            enumerable : true
        },
        money : {
            get : function() {
                if(typeof money === "undefined" ) {
                    return "账户中没有钱";
                }
                return money;
            },
            set : function(num) {
                if (typeof money === "undefined" ){
                    money = num;
                }else {
                    money += num;
                }
                return "账户中有"+money
            }
        }

    });
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号