国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js保護內部數據的三種方式

wwolf / 1806人閱讀

摘要:使用對象代理就是就是屬性這里也可以定義規則可以在這里進行各種規則設置不起作用

js中三種實現私有化內部數據的方式

通過暴露set和get兩個公共api的方式,通過這兩個api對內部數據進行操作和保護,規則可以寫在get和set方法中

function Person = {
  var data = {
    name: "es3",
    sex: "female",
    age: 12
  };
  this.get = function (key) {
    return data[key];
  }
  this.set = function (key, value) {
    if (key !== "sex") {
      data[key] = value;
    }
  }
};
var person = new Person();
console.table({
  name: person.get("name"),
  sex: person.get("sex"),
  age: person.get("age")
});// name: "es3", sex: "female", age: 12
person.set("sex", "male"); // person.get("sex") === "female" 對set做了判斷,所以設置沒用,這樣就通過定義實例的 set和get方式來保護 內部的data變量

直接使用 defineProperty對數據屬性進行限制

// 不能設置規則,哪種情況哪些屬性可以讀寫,使用defineProperty就搞不定
var Person = {
  name: "es3",
  sex: "female",
  age: 12
};
Object.defineProperty(Person, "sex", {
  writable: false,
  value: "female"
});
Person.sex = "male"; // Person.sex === female; 會失敗,嚴格模式會報錯。

使用 Proxy 對象代理

var Person = {
  name: "es3",
  sex: "female",
  age: 12
};
let person = new Proxy(Person, {
  get(target, key) {
    // target就是 Person, key就是屬性,這里也可以定義規則
    return target[key];
  },
  set(target, key, value) {
    // 可以在這里進行各種規則設置
    if (key !== "sex") {
      target[key] = value;
    }
  }
});
person.sex = "male"; // 不起作用

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/100589.html

相關文章

  • 文章6:JS高級

    摘要:一正則表達式使用正則表達是的字符串的三個基礎用法進階用法的用法支持正則的用法的正則用法的普通用法如果匹配不到值返回的進階用法正則的進階知識字符串的普通用法正則用法二面向對象封裝繼承多態三原型鏈與作用域鏈原型鏈作用域鏈四嚴格模式嚴格模式的實現 一、JS正則表達式 使用正則表達是的字符串的三個API //(1)replace基礎用法 var str = welcome to my ho...

    v1 評論0 收藏0
  • 云存儲必備的六大要素是哪些

    摘要:本篇白皮書的目標是描述企業云計算中存儲必備的個要素。雖然,云存儲服務提供商在考慮成本的同時繼續增加可用性,但是目前市場上的服務級別協議不能滿足企業關鍵應用的需求。內部企業方案和企業云存儲的主要差別在于,主數據保護在方案中是如何綁定的。在最近對云計算的所有關注中,存儲更多地被視為基礎平臺。時至今日,許多云計算提供的僅僅局限于CPU內核的集合,定量的內存分配,低轉速存儲,或者還有一些面向互聯網的...

    2bdenny 評論0 收藏0
  • 《Effective Java》,關于方法

    摘要:檢查參數的有效性每當編寫方法或者構造器時,應該考慮它的參數有哪些限制。為了保護實例的內部信息避免受到這種攻擊,對于構造器的每個可變參數進行保護性拷貝是必要的,并且使用備份對象作為實例的組件,而不是使用原始的對象。 檢查參數的有效性 每當編寫方法或者構造器時,應該考慮它的參數有哪些限制。應該把這些限制寫到文檔中,并且在這個方法體開頭處,通過顯示的檢查來實施這些限制。養成這樣的習慣非常重要...

    worldligang 評論0 收藏0
  • 常見三種撞庫方法

    摘要:最常見的三種撞庫方法第一種用個密碼字典撞個賬號,這個的表象是,一個賬號在某個較短的時間內,可能會有多次密碼嘗試。 歡迎訪問網易云社區,了解更多網易技術產品運營經驗。 在安全領域向來是先知道如何攻,其次才是防。在介紹如何防范網站被黑客掃描撞庫之前,先簡單介紹一下什么是撞庫:撞庫是黑客通過收集互聯網已泄露的用戶和密碼信息,生成對于的字典表,嘗試批量登錄其他網站后,得到一系列可以登錄的用戶。...

    ctriptech 評論0 收藏0
  • 對反游戲外掛技術的思考及實現

    摘要:內部調用外掛使用逆向技術分析出游戲內部的匯編代碼,把里面對游戲玩家有利的函數作為外掛的實現功能。檢測代碼段在游戲沒有運行之前,修改添加或刪除文件的二進制信息可以起到修改程序流程的作用,從而起到外掛的作用。 前言 現如今,有很多游戲外掛軟件,它們可以修改游戲顯示的數據和內部代碼,來達到謀取利益...

    wangtdgoodluck 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<