亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問是否有方法改變兩種賦值方法的優先級?

請問是否有方法改變兩種賦值方法的優先級?

哆啦的時光機 2018-12-07 05:53:42
var Man=function(){ }; Man.prototype.attr=function(attr,val){ if(val){ this[attr]=val; } else{ return this[attr]; } } 上面是我的代碼,下面是調用代碼。 在調用的時候,有下面兩種屬性賦值方案: var me =new Man(); //方案一: me.attr("fullname", "小明");//方案二: me.fullname = "廢柴"; console.info("我的名字是:" + me.attr("fullname")); /*------[期望的執行結果]------ 我的名字是:小明 ------------------*/ 按目前的代碼最后輸出的是 /*------[執行結果]------ 我的名字是:廢柴 ------------------*/ 也就是說第二種方案賦值把第一種方案賦的值修改了,請問要如何修改我的代碼呢?
查看完整描述

2 回答

?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

方案一(推薦):

function Man() {
    this.dictionary = {};
}

Man.prototype.attr = function(attr, val) {
    if(arguments.length > 1) {
        this.dictionary[attr] = val;
    } else {
        return this.dictionary[attr];
    }
};

方案二:

function Man() {
    var fullname;

    this.attr = function(attr, val) {
        if(attr === 'fullname') {
            if(arguments.length > 1) {
                fullname = val;
            } else {
                return fullname;
            }
        }
    };
}
查看完整回答
反對 回復 2018-12-24
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

if判斷,哪個符合你的要求就調用哪個。

查看完整回答
反對 回復 2018-12-24
  • 2 回答
  • 0 關注
  • 512 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號