首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
ES5 对象的扩展(Object.preventExtensions)、密封(Object.seal)和冻结(Object.freeze)
】的更多相关文章
ES5 对象的扩展(Object.preventExtensions)、密封(Object.seal)和冻结(Object.freeze)
前面提到 ES5 对象属性描述符,这篇看看对象的扩展.密封和冻结. 扩展对象 Object.preventExtensions Object.isExtensible 密封对象 Object.seal Object.isSealed 冻结对象 Object.freeze Object.isFrozen 1. Object.preventExtensions 阻止对象扩展,让一个对象变的不可扩展,也就是永远不能再添加新的属性 ES3 是没有办法阻止对象扩展的,定义对象后可以给对象添加任意属性,如…
ES6 的Object.assign(target, source_1, ···)方法与对象的扩展运算符
一.基本概念 Object.assign方法用来将源对象(source)的所有可枚举属性,复制到目标对象(target).它至少需要两个对象作为参数,第一个参数是目标对象,后面的参数都是源对象. Object.assign(target, source_1, ..., source_n) 二.基本用法 let target = {a: 1}; let object2 = {b: 2}; let object3 = {c: 3}; Object.assign(target,object2,obje…
ES6 对象的扩展 Object.assign()
Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target). const target = { a: 1 }; const source1 = { b: 2 }; const source2 = { c: 3 }; Object.assign(target, source1, source2); target // {a:1, b:2, c:3} Object.assign方法的第一个参数是目标对象,后面的参数都是源对象. 注意,如果目…
JS对象-不可扩展对象、密封对象、冻结对象
不可扩展对象 Object.preventExtensions() 仅阻止添加自身的属性.但属性仍然可以添加到对象原型. 可以用 Object.isExtensible(obj) 来判断对象是否可扩展 密封对象 Object.seal() 密封对象不可扩展,而且已有的属性成员[[configurable]]特性将被设置成false 可以用 Object.isSealed() 来判断对象是否已经被密封 冻结对象 Object.freeze() 冻结的对象既不可以扩展,又是密封的,而且对象数据属性的…
ECMAScript5新特性之Object.isExtensible、Object.preventExtensions
阻止对象扩展后: 1 不能添加属性. 2 可以修改属性的值. 3 可以删除属性. 4 可以修改属性描述符. var fruit = { name : '苹果', desc : '红富士' }; // console.log('isExtensible',Object.isExtensible(fruit)); // true Object.preventExtensions(fruit); console.log('isExtensible',Object.isExtensible(fruit)…
Object.preventExtensions()使用技巧
Object.preventExtensions() 方法让一个对象变的不可扩展,也就是永远不能再添加新的属性. // Object.preventExtensions将原对象变的不可扩展,并且返回原对象. var obj = {}; var obj2 = Object.preventExtensions(obj); obj === obj2; // true // 字面量方式定义的对象默认是可扩展的. var empty = {}; Object.isExtensible(empty) //=…
ExtJS学习-----------Ext.Object,ExtJS对javascript中的Object的扩展
关于ExtJS对javascript中的Object的扩展.能够參考其帮助文档,文档下载地址:http://download.csdn.net/detail/z1137730824/7748893 以下对当中的方法进行介绍: (1)chain,把当前传入的对象当成新创建对象的原型. chain( Object object ) 使用给定对象作为原生链返回一个新对象. Parameters object : Object 创建新对象的原生链. 实例: var obj={ name:'张三', ag…
JavaScript原生对象及扩展
来源于 https://segmentfault.com/a/1190000002634958 内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化阶段就被创建好的对象,是后者的一个子集:而后者包括了一些在运行过程中动态创建的对象. 原生对象(New后的对象) ECMA-262 把原生对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”.包括如下: Object.Function.Array.St…
es6学习笔记--字符串&数值&数组&函数&对象的扩展
这几天抽空学习了es6语法,关于字符串,数值,数组,函数以及对象的扩展,看到es6标准入门这本书,里面讲的扩展特别多,我认为有几部分在项目上用不到,就挑有用的当笔记学习了. 字符串的扩展 str.includes(str1, n) 返回布尔值,表示是否找到了参数字符串 params: 第一个参数str1 必选, 要匹配的字符 第二个参数n 可选 表示开始搜索的索引位置 第n个开始搜索到结束 let str = 'hello world' let str1 = 'hello' console.…
ECMA Script 6_对象的扩展
对象 1. ES6 允许直接写入变量和函数,作为对象的属性和方法 const foo = 'bar'; /*****************属性的优化********************/ const baz = {foo: foo}; // 优化为 const baz = {foo}; /*****************属性的优化********************/ function f(x, y) { return {x: x, y: y}; }; // 优化为 function…