• javascript的防篡改对象之preventExtensions()方法


    js在默认情况下,所有的对象都是可扩展的.这也是让很多开发人员头特疼的问题.因为在同一环境中,一不小心就会发生修改了不必要的对象,而自己却不知道.

    在ECMAScript5可以解决这种问题了.

    preventExtensions():经过这个方法处理过的对象,不影响原有对象的删除,修改.但是无法添加新的属性成员了.

    示例一:

    1 var person={name:"guo"};//申明一个对象
    2 person.age=23;//扩展对象
    3 alert(person.age);//======>23

    示例二:

    1 var person={name:"guo"}; 
    2 Object.preventExtensions(person);//用于处理对象,让它无法被扩展了.
    3 person.age=23;
    4 alert(person.age);//======>undefined
    5             

    示例三: 

    1 "use strict";//严格模式
    2 var person={name:"guo"}; 
    3 Object.preventExtensions(person);//用于处理对象,让它无法被扩展了
    4  /*
    5     严格模式下,扩展无法扩展的对象会报错,非严格模式下,保持沉默
    6   */
    7 person.age=23;

     示例四: 

    1 var person={name:"guo"}; 
    2 /*
    3 isExtensible();判断是否被限制扩展
    4 返回true:没有限制
    5 返回false:有限制
    6 */
    7 alert(Object.isExtensible(person));//====>true.
    8 Object.preventExtensions(person);//用于处理对象,让它无法被扩展了
    9  alert(Object.isExtensible(person));//=====>false
  • 相关阅读:
    CSS颜色十六进制值规律
    linux清理内存命令
    一些常用的linux命令
    读《DOOM启示录》随想
    日常分享:关于时间复杂度和空间复杂度的一些优化心得分享(C#)
    .netcore过滤器有以下几种类型
    RabbitMQ十:重要方法简述(参数)
    git 配置 ssh
    log4net学习笔记
    redis下载与安装
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/3579848.html
Copyright © 2020-2023  润新知