阻止对象扩展后:

1 不能添加属性。

2 可以修改属性的值。

3 可以删除属性。

4 可以修改属性描述符。

var fruit = {
name : '苹果',
desc : '红富士'
};
//
console.log('isExtensible',Object.isExtensible(fruit)); // true
Object.preventExtensions(fruit);
console.log('isExtensible',Object.isExtensible(fruit)); // false
//
fruit.address = '烟台';
console.log('添加address属性',fruit);
//
fruit.desc = '金帅';
console.log('修改属性',fruit);
//
delete(fruit.desc);
console.log('删除属性',fruit);
//
Object.defineProperty(fruit,'desc',{
enumerable : false
});
console.log('修改属性描述符为不可枚举',Object.keys(fruit));
Object.defineProperty(fruit,'desc',{
enumerable : true
});
console.log('修改属性描述符为可枚举',Object.keys(fruit));

ECMAScript5新特性之Object.isExtensible、Object.preventExtensions的更多相关文章

  1. 前端开发者进阶之ECMAScript新特性【一】--Object.create

    Object.create(prototype, descriptors) :创建一个具有指定原型且可选择性地包含指定属性的对象 参数:prototype 必需.  要用作原型的对象. 可以为 nul ...

  2. ECMAScript新特性【一】--Object.create

    Object.create(prototype, descriptors) :创建一个具有指定原型且可选择性地包含指定属性的对象 参数: prototype 必需.  要用作原型的对象. 可以为 nu ...

  3. ECMAScript5新特性总结

    虽然ECMAScript5早就成为标准推出来了,但之前因为一直用的是ECMAScript3,并且工作中总是要求兼容IE的低版本,所以用的比较少.如今市场上大多数浏览器都能兼容ECMAScript5(I ...

  4. ECMASCRIPT5新特性(转载)

    Function 1: Object.create 这是一个很重要的改动,现在我们终于可以得到一个原型链干净的对象了.以前要创建一个类 function Cat(name) { this.name   ...

  5. ECMAScript5新特性之获取对象特有的属性

    'use strict'; // 父类 function Fruit(){ } Fruit.prototype.name = '水果'; // 子类 function Apple(desc){ thi ...

  6. ECMAScript5新特性之isFrozen、freeze

    对象被冻结后: 1 不能添加属性. 2 不能删除属性. 3 不能修改属性.(赋值) 4 不能修改属性描述符.(会抛异常) var fruit = { name : '苹果', desc : '红富士' ...

  7. ECMAScript5新特性之isSealed、seal

    封闭对象后: 1 不能增加属性. 2 不能删除属性. 3 可以修改属性.(赋值) 4 不能修改属性描述符.(抛异常) var fruit = { name : '苹果', desc : '红富士' } ...

  8. 前端开发者进阶之ECMAScript新特性--Object.create

    前端开发者进阶之ECMAScript新特性[一]--Object.create   Object.create(prototype, descriptors) :创建一个具有指定原型且可选择性地包含指 ...

  9. Atitit js版本es5 es6新特性

    Atitit js版本es5 es6新特性 Es5( es5 其实就是adobe action script的标准化)1 es6新特性1 Es5( es5 其实就是adobe action scrip ...

随机推荐

  1. 9-16Jenkins-1第一个任务

    jenkins安装搭建 #mac安装jenkins brew install jenkins #或下载war包 java -jar jenkins.war 第一个jenkins任务 创建一个自由风格的 ...

  2. img atl和a title

    今天发现一个有趣的现象.   <a href="#" title="a"><img src="xxx.jpg" alt=& ...

  3. 转载CopyOnWriteArrayList

    转载原文 http://www.cnblogs.com/dolphin0520/p/3938914.html Copy-On-Write简称COW,是一种用于程序设计中的优化策略.其基本思路是,从一开 ...

  4. [UE4]创建多把枪,使用Class,参数的对象类型

    先来说说函数输入参数的区别: 1.Object Reference 2.Class Reference 会出现可以让你选择一个类 3.Soft Object Reference 4.Soft Clas ...

  5. [UE4]封装、继承、多态

    面向对象编程的三大特征 一.封装 公开能做什么,隐藏如何做.封装的目的是减少类之间的依赖. 二.继承 让一个类拥有另一个类的状态和行为,前者可以不加修改地完全复用后者的实现,也可以对有些行为做出自己的 ...

  6. js如何判断小数点后有几位

    <script> var n=3.143423423;alert(n.toString().split(".")[1].length); </script> ...

  7. mac osx下虚拟主机配置

    1.打开“终端(terminal)”,输入 sudo apachectl -v,此指令显示apache版本             2.开启apache,输入 sudo apachectl start ...

  8. onmouseenter和onmouseleave的兼容性问题

    <div onmouseenter="displayMyCon($(this))" onmouseleave="hideMyCon(event,$(this))&q ...

  9. 查看shell环境下,网络是否连通-curl/ping

    检查网络是否可用 curl www.baidu.com <!--STATUS OK--><html>...</html> ping www.baidu.com注意: ...

  10. linux case ${variable} in

    脚本实现划分考试等级层次;