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

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

js使用原型中的問題

js使用原型中的問題

SMILET 2018-10-24 13:14:57
我有幾個小問題想請教一下label.prototype.schema 改寫成 label.schema會有影響嗎,什么情況下由于影響, 怎么決定我用那種寫法?getRank()中可不可以不傳參來完成 獲取rank?getRank()這個函數 怎么寫才看起來更高效 更優雅?在我編寫的過程中,需要對實例化的對象進行大量的賦值、傳值、取值,是我設計的有問題嗎,感覺總是怪怪的,還是本身不太適用原型來操作?如果初始構造里同時也有getrank()執行哪個(原型中的?構造函數中的?) 如何執行另外一個不執行的getrank()?有沒有相關推薦的書籍?我寫過的js文件 沒人review ,不知道現在自己究竟哪些地方需要提高,希望大家不吝賜教,多多支出我的不足 !
查看完整描述

1 回答

?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

function label(){ return this.init.apply(this, arguments); }


// label原型鏈

label.prototype = {

    // 預定義的屬性

    schema: {

        "name": '哈哈',

        "age": "13",

        "id": 1 ,

        "rank":12

    },

    // 初始化方法, label方法定義了由init作為創建方法

    init: function(arg1, arg2){

        this.dd=arg1;

        this.ss=arg2;

    },

    // 定義通用方法

    getRank: function(){

        // 這里的this就是本實例

        // 返回schema.rank, 沒有則返回0

        return this.schema.rank || 0;

    }

}



//實例

var labelObj=new label("dd1");

console.log(labelObj.getRank()) // 12

labelObj.schema.rank = 99;

console.log(labelObj.getRank()) // 99


labelObj.dd; // "dd1"

labelObj.ss; // undefined


查看完整回答
反對 回復 2018-11-17
  • 1 回答
  • 0 關注
  • 553 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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