最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript 保護變量不被隨意修改的實現代碼

 更新時間:2017年09月27日 11:36:40   作者:八bug哥哥  
本文通過實例代碼給大家分享JavaScript 保護變量不被隨意修改的實現方法,需要的朋友參考下吧

下面給大家分享代碼:

/*
* 1.如果在renderTitle,renderContent里面,這樣總數據誰都能修改,不安全
* 改進
* 1.規(guī)定一個專門修改數據的方法,如果想修改數據只能走這個方法
*
* action代表一個命令對象,就是一個普通的js對象,起碼需要一個字段控制命令類型type,其他字段隨意
*
* */
const CHANGE_FONT_SILE='CHANGE_FONT_SILE';
//設置一個閉包,把變量保護起來,通過返回值調用
function createStore() {
  let appState={
    fontSize:'26px',
    title:{
      text:'標題',
      color:'red'
    },
    content:{
      text:'類容',
      color:'green'
    }
  }
  //保護變量被修改,深克隆
  let getState=()=>JSON.parse(JSON.stringify(appState));
  //改變變量的方法
  let dispatch=(action)=>{
    switch(action.type){
      case CHANGE_FONT_SILE:
        appState.fontSize=action.fontSize;
      default:
        return;
    }
  }
  //返回出去的修改和取值的接口
 return{
   getState,
   dispatch
 }
}
let store=createStore();
//取值函數
function renderTitle() {
  let titleEle = document.querySelector('#title');
  titleEle.innerHTML = store.getState().title.text;
  titleEle.style.color = store.getState().title.color;
  titleEle.style.fontSize = store.getState().fontSize;
}
function renderContent() {
  let titleEle=document.querySelector("#content");
  titleEle.innerHTML=store.getState().content.text;
  titleEle.style.color=store.getState().content.color;
  titleEle.style.fontSize=store.getState().fontSize;
}
function renderApp() {
  renderTitle();
  renderContent()
}
//修改appState里面初始值,單獨一個修改文件
store.dispatch({type:CHANGE_FONT_SILE,fontSize:'30px'})
renderApp();

總結

以上所述是小編給大家介紹的JavaScript 保護變量不被隨意修改的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • JS實現網站菜單拖拽移位效果的方法

    JS實現網站菜單拖拽移位效果的方法

    這篇文章主要介紹了JS實現網站菜單拖拽移位效果的方法,涉及JavaScript動態(tài)操作頁面元素樣式的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • 細說JavaScript中的變量,作用域和垃圾回收

    細說JavaScript中的變量,作用域和垃圾回收

    這篇文章主要和大家介紹一下JavaScript中的變量,作用域和垃圾回收的定義與使用,文中的示例代碼講解詳細,對我們學習JavaScript有一定的幫助,需要的可以參考一下
    2022-11-11
  • 前端通過表單將pdf等文件傳入后端

    前端通過表單將pdf等文件傳入后端

    在一些情境下,用戶通過瀏覽器上傳word、excel、pdf等各種類型的文件到系統(tǒng),上傳后可以隨時下載,下面這篇文章主要介紹了前端通過表單將pdf等文件傳入后端的相關資料,需要的朋友可以參考下
    2024-09-09
  • 分享50個超級有用的JavaScript單行代碼(推薦!)

    分享50個超級有用的JavaScript單行代碼(推薦!)

    JavaScript是一種腳本語言,是直接在瀏覽器運行的,下面這篇文章主要給大家介紹了50個超級有用的JavaScript單行代碼的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • JS數組方法reduce的用法實例分析

    JS數組方法reduce的用法實例分析

    這篇文章主要介紹了JS數組方法reduce的用法,結合實例形式詳細分析了JS數組方法reduce的基本功能、使用方法及相關操作注意事項,需要的朋友可以參考下
    2020-03-03
  • JS寫的數字拼圖小游戲代碼[學習參考]

    JS寫的數字拼圖小游戲代碼[學習參考]

    昨天沒事做,就用JS寫了個數字拼圖的小游戲,自娛自樂。 可惜關于逆序數的問題還沒解決,現在有時是拼不成的,大家見諒了。
    2008-10-10
  • JavaScript實現重力下落與彈性效果的方法分析

    JavaScript實現重力下落與彈性效果的方法分析

    這篇文章主要介紹了JavaScript實現重力下落與彈性效果的方法,結合實例形式分析了javascript重力下落及彈性效果的原理與具體實現技巧,需要的朋友可以參考下
    2017-12-12
  • JS實現下拉菜單賦值到文本框的方法

    JS實現下拉菜單賦值到文本框的方法

    這篇文章主要介紹了JS下拉菜單賦值到文本框的方法,涉及javascript頁面元素的選擇與賦值的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 《JavaScript高級程序設計》閱讀筆記(二) ECMAScript中的原始類型

    《JavaScript高級程序設計》閱讀筆記(二) ECMAScript中的原始類型

    ECMAScript有5種原始類型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof來判斷值的類型
    2012-02-02
  • 基于canvas實現超炫酷的流水燈效果

    基于canvas實現超炫酷的流水燈效果

    這篇文章主要為大家詳細介紹了基于canvas實現超炫酷的流水燈效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評論

定兴县| 简阳市| 东丰县| 泰宁县| 百色市| 个旧市| 渭源县| 江北区| 岳阳县| 廉江市| 龙海市| 台湾省| 长子县| 洞口县| 海林市| 延庆县| 江山市| 喀喇沁旗| 个旧市| 东明县| 泰和县| 沙湾县| 玉龙| 沂水县| 峡江县| 九龙坡区| 五寨县| 松溪县| 恩平市| 普兰县| 沾化县| 湘西| 阳江市| 手机| 光泽县| 平果县| 八宿县| 昌江| 遵化市| 克什克腾旗| 凤山县|