首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

微前端01 : 乾坤的Js隔离机制(快照沙箱、两种代理沙箱)

而资源隔离又分为Js资源隔离和css资源隔离,本文主要探索的是乾坤的Js资源隔离机制。...下文会分三部分来进行讲解: 乾坤Js隔离机制的发展史; 编码实现三种Js隔离机制的核心逻辑,并分析各自的优劣; 分析乾坤的三种Js隔离机制的源代码,并深入细节进行解析; 1、乾坤Js隔离机制的发展史...我们把Js隔离机制常常称作沙箱,事实上,乾坤有三种Js隔离机制,并且在源代码中也是以 SnapshotSandbox、LegacySandbox、ProxySandbox三个类名来指代三种不同的隔离机制...descriptor.configurable) { descriptor.configurable = true; } return descriptor...descriptor.configurable) { descriptor.configurable = true; } return descriptor

1.9K20

JS入门难点解析13-属性描述符,数据属性和访问器属性

简介 JS的对象是一组无序属性的集合。那么对于这组无序属性来说,拥有哪些特性呢?ECMAScrip5中定义了属性的这些特性,但这些特性是为了实现JS引擎用的,在JS中无法直接来访问它们。...: false }); 而对于configurable: false时是否可以修改configurable呢?...总结以上信息,可配置性configurable有如下特征: configurable值为true时,可以删除属性值;configurable值为为false时,不能删除属性值; configurable...;configurable值为false时,如果writable值为false,不能修改其为true; configurable值为false时,除3,4两种情况,不可修改描述符属性值。..._doubleA); // 2 参考 BOOK-《JavaScript高级程序设计(第3版)》第6章 BOOK-《你不知道的JavaScript》 第2部分 JS属性特性(属性描述符) ECMAScript

2K10

了解JavaScript对象的特殊属性

Js 的对象可以说是一组无序值的集合,可以包括基本类型值、引用类型值、函数 通常采用字面量的方式或者 new Object() 的方式来创建;创建时除定义的值外,还具有一些特殊值,用来定义对象的各种行为...属性类型 JS 规定了许多属性值用于给引擎使用,但是不能直接访问他们,通常用 [[Value]] 的方式放置 数据属性 四个值,用来描述行为 [[Configurable]]:能否用 delete...属性 var great = {} Object.defineProperty(great,'name',{ configurable: false,//设置 name 属性值不可删除 value...为 true,那么后面的步骤除了修改 writable 以外,修改其他特殊属性以及重写 set 方法都会报错,因为这个 configurable 就是规定每个属性在第一次设置之后是否可以再次修改...configurable: true, get: function() { return this.

65710

JS面向对象

JS面向对象 理解对象 数据(数据描述符)属性 数据属性有4个描述内部属性的特性 [[Configurable]] 表示能否通过delete删除此属性,能否修改属性的特性,或能否修改把属性修改为访问器属性...]] 和数据属性的[[Configurable]]一样,表示能否通过delete删除此属性,能否修改属性的特性,或能否修改把属性修改为访问器属性,如果直接使用字面量定义对象,默认值为true [[Enumerable...]] 和数据属性的[[Configurable]]一样,表示该属性是否可枚举,即是否通过for-in循环或Object.keys()返回属性,如果直接使用字面量定义对象,默认值为true [[Get]]...如果设置configurable属性为false,则不可使用delete操作符(在严格模式下抛出错误), 修改所有内部属性值会抛出错误,在《javaScript高级教程中》说只可以改变writable...input2"> 我每次比input1的值加1=> js

7.3K20

Understanding delete

简述         我们都知道无法通过delete关键字针对变量和函数进行操作,而对于显示的对象属性声明却可以进行,这个原因需要深究到js的实现层上去,让我们跟随 Understanding delete...而对于VO这样的实体对象而言,它也有自己的元数据,也就是在ES5中对象的数据特性:[[configurable]],[[enurable]],[[value]],[[writable]]。...而对于VO的属性,默认的[[configurable]]是false,这样就无法针对这些变量使用delete操作。...而对于显示的对象属性赋值,比如obj.name = “a”,对于name属性的[[configurable]]特性是true,因此可以删除。...]]为false   eval上下文的特殊性   未声明变量并不是VO的属性,[[configurable]]为true   删除宿主对象属性时需小心,可能有意外发生,取决于js引擎的具体实现

94560

5000字的React-native源码解析

写在开头 近期公众号主攻下React-native,顺便我也复习下React-native,后续写作计划应该是主攻Node.js和跨平台方向、架构、Debug为主 如果你感兴趣,建议关注下公众号,系统的学习下...我们打开主入口的index.js文件 /** * @format */ import {AppRegistry} from 'react-native'; import App from '....脚手架应该根据是react-native run ios 还是 安卓,选择加载对应js,我们找到Image.ios.js文件,只有200行,今天重点主攻下 默认暴露 module.exports = (...tintColor={tintColor} source={sources} /> ); 找到RCTImageView,ImageViewNativeComponent.js...跟我预想一样,向register函数传入name和cb,注册成功后触发callback(getNativeComponentAttributes) 找到ReactNativePrivateInterface.js

2.2K10

【春节日更】理解Object.defineProperty方法

02 描述符 在JS中对象具有两种属性,分别是数据属性和访问器属性,所以其描述符也根据属性分类,分为数据描述符和访问器描述符。 在使用描述符时,必须是两种形式之一,且两者不能同时使用。...它具有以下可选的键值: configurable:表示该属性能否通过delete删除,能否修改属性的特性或者能否修改访问器属性,默认为false。...当且仅当该属性的configurable为true时,才能实现上述行为。 enumerable:表示该属性是否可以枚举,即可否通过for..in访问属性。默认为false。...可以是任何有效的JS值。默认为undefined。 writable:表示该属性的值是否可写,默认为false。...它具有以下可选的键值: configurable:表示该属性能否通过delete删除,能否修改属性的特性或者能否修改访问器属性,默认为false。

21820

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券