时间:2021-05-28
下面给大家分享代码:
/** 1.如果在renderTitle,renderContent里面,这样总数据谁都能修改,不安全* 改进* 1.规定一个专门修改数据的方法,如果想修改数据只能走这个方法** 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 保护变量不被随意修改的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java对象中primitive类型变量可以通过不提供set方法保证不被修改,但对象的List成员在提供get方法后,就可以随意add、remove改变其结构,
现今,大家对保护知识产权的意识越来越高了。在保护好自己产品不被侵权的同时,也做好不随意使用他人产品。然而,有些商家除了新手原因,还有心太大,不进行任何修改就使用
用page.ClientScript.RegisterStartupScript方式实现代码为:复制代码代码如下://////弹出JavaScript小
AngularJS表单验证功能实现代码:ng-model的作用:1.ng-model指令可以将输入域的值与AngularJS创建的变量绑定2.双向绑定,在修改输
用string方法定义字符串变量实现代码:复制代码代码如下:#include#includeusingnamespacestd;intmain(){string