1、ES中的对象是完全动态的,这意味着,在程序执行的时候我们可以任意的添加,修改或删除对象的属性。

        var stu = { ID: 1 };

        //添加新属性
stu.Name = 'ck'; console.log(stu); //{ID:1,Name:ck}
alert(stu.ID+stu.Name);

有些属性不能被修改——(只读属性、已删除属性或不可配置的属性)。

2、ES5规范规定,静态对象不能扩展新的属性,并且它的属性页不能删除或者修改。他们是所谓的冻结对象,可以通过应用Object.freeze(o)方法得到。

        var stu = { ID: 1 };

        //冻结对象
Object.freeze(stu);
console.log(Object.isFrozen(stu)); //true //不能修改
stu.ID = 3;
//不能扩展
stu.Name = 'ck';
//不能删除
delete stu.ID;

3、在ES5规范里,也使用Object.preventExtensions(o)方法防止扩展,或者使用Object.defineProperty(o)方法来定义属性:

        var stu = { ID: 1 };
Object.defineProperty(stu, "Name", {
value: "ck",
writable: false, //只读
configurable: false //不可配置
}); //不能修改
stu.Name = 'jxl';
alert(stu.Name); // ck //不能删除
delete stu.Name; //false //防治扩展
Object.preventExtensions(stu);
console.log(Object.isExtensible(stu)); // false
//不能添加新属性
stu.Age = 28; console.log(stu); //{ID:1,Name='ck'}

JavaScript对象 属性的更多相关文章

  1. 删除要被替换的元素的所有事件处理 程序和 JavaScript 对象属性

    使用本节介绍的方法替换子节点可能会导致浏览器的内存占用问题,尤其是在 IE 中,问题更加明显.在删除带有事件处理程序或引用了其他 JavaScript 对象子树时,就有可能导致内存占用问题.假设 某个 ...

  2. Javascript对象属性与方法汇总

    Javascript对象属性与方法汇总 发布时间:2015-03-06 编辑:www.jquerycn.cn 详细介绍下,javascript对象属性与对象方法的相关知识,包括javascript字符 ...

  3. JavaScript对象属性的基础教程指南

    JavaScript是使用“对象化编程”的,或者叫“面向对象编程”的.所谓“对象化编程”,意思是把JavaScript能涉及的范围划分成大大小小的对象,对象下面还继续划分对象直至非常详细为止,所有的编 ...

  4. JavaScript对象属性访问的两种方式

    JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "f ...

  5. JavaScript 对象属性

    JavaScript 对象属性 属性中的 . 和 [ ](点 和 方括号)的区别 .  :取对象自身的属性值: [ ]:括号内容可以是变量: var obj = {}; obj.name = 'Twx ...

  6. js 技巧 (六)JavaScript[对象.属性]集锦

    JavaScript[对象.属性]集锦 SCRIPT 标记 用于包含javascript代码. 语法 属性 LANGUAGE 定义脚本语言 SRC 定义一个URL用以指定以.JS结尾的文件 windo ...

  7. javascript对象属性和数组的访问

    javascript对象属性的访问 假如有对象test:var test = {  "a":1,  "b":2};直接访问对象test的属性a的值,有两种方法: ...

  8. 了解JavaScript 对象属性的标签

    对象属性的标签 value(属性值), writable(属性可写), enumerable(属性可枚举), configurable(属性可配置), 这些属性标签使对象所持有的属性体现出不同的特性, ...

  9. JavaScript对象属性(一)

    对象object  对象和数组很相似,数组是通过索引来访问和修改数据,对象是通过属性来访问和修改数据的. 这是一个示例对象: var cat = { "name": "W ...

  10. JavaScript对象属性 constructor

     对象属性 constructor 属性返回对创建此对象的数组函数的引用; constructor(构造函数) 在对象创建或实例化时候被调用的方法.通常使用该方法来初始化数据成员和所需资源.构造函数不 ...

随机推荐

  1. Codeforces Round #277 (Div. 2) A B C 水 模拟 贪心

    A. Calculating Function time limit per test 1 second memory limit per test 256 megabytes input stand ...

  2. SpringMVC4零配置--Web上下文配置【MvcConfig】

    与SpringSecurity的配置类似,spring同样为我们提供了一个实现类WebMvcConfigurationSupport和一个注解@EnableWebMvc以帮助我们减少bean的声明. ...

  3. 整理的一些免费的Android项目实战系列视频教程

    http://blog.itpub.net/29737144/viewspace-1212539/

  4. hdu2955 Robberies  01背包+概率

    link:http://acm.hdu.edu.cn/showproblem.php?pid=2955 首先,这个题目的背包容量不能是概率.1.精度不清楚.2.把概率相加有什么意义呢?所以,转换一下, ...

  5. vimrc配置文件_version1.0_+pathogen, taglist, wordcomplete插件说明

    为了表示对Ruchee的感谢,首先这是Ruchee的个人网站:http://www.ruchee.com/index.html,他的以前很多的代码都放到Git里面了,里面有链接. 看了整整一天,刚开始 ...

  6. 02java语法基础问题总结

    S和t引用的不是同一个对象 不是原始数据类型 结论: 枚举类型是引用类型,枚举不属于原始数据类型.它的每一个具体值都引用一个特定的对象. 2. 以下代码的输出结果是什么? int X=100; int ...

  7. springMvc源码学习之:spirngMvc的参数注入的问题

    转载:https://my.oschina.net/lichhao/blog/172562 概述 在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成 ...

  8. Linux-内存管理机制、内存监控、buffer/cache异同

    在Linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,主要特点是,无论物理内存有多大,Linux 都将其充份利用,将 ...

  9. X-UA-Compatible设置兼容模式

    原文地址:http://www.cnblogs.com/kingboy2008/archive/2011/07/01/2226424.html   IE浏览器的兼容性一直是网站开发人员头疼的事情,众所 ...

  10. MVC的异步,Entity Framework的异步,ADO.NET的异步,

    MVC的异步化改造 无比轻松,只要把ActionResult改为async Task<AstionResult>: public async Task<ActionResult> ...