摘要:使用對象代理就是就是屬性這里也可以定義規(guī)則可以在這里進(jìn)行各種規(guī)則設(shè)置不起作用
js中三種實現(xiàn)私有化內(nèi)部數(shù)據(jù)的方式
通過暴露set和get兩個公共api的方式,通過這兩個api對內(nèi)部數(shù)據(jù)進(jìn)行操作和保護(hù),規(guī)則可以寫在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做了判斷,所以設(shè)置沒用,這樣就通過定義實例的 set和get方式來保護(hù) 內(nèi)部的data變量
直接使用 defineProperty對數(shù)據(jù)屬性進(jìn)行限制
// 不能設(shè)置規(guī)則,哪種情況哪些屬性可以讀寫,使用defineProperty就搞不定 var Person = { name: "es3", sex: "female", age: 12 }; Object.defineProperty(Person, "sex", { writable: false, value: "female" }); Person.sex = "male"; // Person.sex === female; 會失敗,嚴(yán)格模式會報錯。
使用 Proxy 對象代理
var Person = { name: "es3", sex: "female", age: 12 }; let person = new Proxy(Person, { get(target, key) { // target就是 Person, key就是屬性,這里也可以定義規(guī)則 return target[key]; }, set(target, key, value) { // 可以在這里進(jìn)行各種規(guī)則設(shè)置 if (key !== "sex") { target[key] = value; } } }); person.sex = "male"; // 不起作用
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/100589.html
摘要:本篇白皮書的目標(biāo)是描述企業(yè)云計算中存儲必備的個要素。雖然,云存儲服務(wù)提供商在考慮成本的同時繼續(xù)增加可用性,但是目前市場上的服務(wù)級別協(xié)議不能滿足企業(yè)關(guān)鍵應(yīng)用的需求。內(nèi)部企業(yè)方案和企業(yè)云存儲的主要差別在于,主數(shù)據(jù)保護(hù)在方案中是如何綁定的。在最近對云計算的所有關(guān)注中,存儲更多地被視為基礎(chǔ)平臺。時至今日,許多云計算提供的僅僅局限于CPU內(nèi)核的集合,定量的內(nèi)存分配,低轉(zhuǎn)速存儲,或者還有一些面向互聯(lián)網(wǎng)的...
摘要:檢查參數(shù)的有效性每當(dāng)編寫方法或者構(gòu)造器時,應(yīng)該考慮它的參數(shù)有哪些限制。為了保護(hù)實例的內(nèi)部信息避免受到這種攻擊,對于構(gòu)造器的每個可變參數(shù)進(jìn)行保護(hù)性拷貝是必要的,并且使用備份對象作為實例的組件,而不是使用原始的對象。 檢查參數(shù)的有效性 每當(dāng)編寫方法或者構(gòu)造器時,應(yīng)該考慮它的參數(shù)有哪些限制。應(yīng)該把這些限制寫到文檔中,并且在這個方法體開頭處,通過顯示的檢查來實施這些限制。養(yǎng)成這樣的習(xí)慣非常重要...
摘要:最常見的三種撞庫方法第一種用個密碼字典撞個賬號,這個的表象是,一個賬號在某個較短的時間內(nèi),可能會有多次密碼嘗試。 歡迎訪問網(wǎng)易云社區(qū),了解更多網(wǎng)易技術(shù)產(chǎn)品運(yùn)營經(jīng)驗。 在安全領(lǐng)域向來是先知道如何攻,其次才是防。在介紹如何防范網(wǎng)站被黑客掃描撞庫之前,先簡單介紹一下什么是撞庫:撞庫是黑客通過收集互聯(lián)網(wǎng)已泄露的用戶和密碼信息,生成對于的字典表,嘗試批量登錄其他網(wǎng)站后,得到一系列可以登錄的用戶。...
摘要:內(nèi)部調(diào)用外掛使用逆向技術(shù)分析出游戲內(nèi)部的匯編代碼,把里面對游戲玩家有利的函數(shù)作為外掛的實現(xiàn)功能。檢測代碼段在游戲沒有運(yùn)行之前,修改添加或刪除文件的二進(jìn)制信息可以起到修改程序流程的作用,從而起到外掛的作用。 前言 現(xiàn)如今,有很多游戲外掛軟件,它們可以修改游戲顯示的數(shù)據(jù)和內(nèi)部代碼,來達(dá)到謀取利益...
閱讀 2346·2021-11-24 10:33
閱讀 1418·2019-08-30 15:43
閱讀 3306·2019-08-29 17:24
閱讀 3517·2019-08-29 14:21
閱讀 2250·2019-08-29 13:59
閱讀 1764·2019-08-29 11:12
閱讀 2840·2019-08-28 18:00
閱讀 1882·2019-08-26 12:17