JavaScript所有内部属性列表 [[Configurable]] 等
简介
据MDN文档所说内部属性是由 [[···]] 包裹的内容,于是我们去复制 ECMA-262 标准的所有文字部分,然后用正则统计 [[···]] 的出现并打印
效果

代码
经老大提醒,这里的正则并不能完整匹配字母
'use strict';
let re = /\[\[[A-z]+\]\]/g;
let f = ()=>{
let m = new Map()
for (const x of a.match(re)) {
let t = m.get(x) || 0
m.set(x,++t)
}
let arr = []
for (const [k,v] of m) {
arr.push({k,v})
}
arr.sort((a,b)=>{
return b.v - a.v
})
// console.log(arr.map(x=>JSON.stringify(x)).join('\n'))
console.log(arr.slice(0,25));
}
var a = `Reference number...(注意这里要自己去粘贴,方法就是下载pdf全选复制)`
f();
所以结果呢??
{"k":"[[Value]]","v":276}
{"k":"[[Configurable]]","v":232}
{"k":"[[Writable]]","v":218}
{"k":"[[Enumerable]]","v":212}
{"k":"[[Prototype]]","v":119}
{"k":"[[Type]]","v":86}
{"k":"[[Status]]","v":77}
{"k":"[[Get]]","v":74}
{"k":"[[Set]]","v":73}
{"k":"[[Done]]","v":70}
{"k":"[[Key]]","v":65}
{"k":"[[GetOwnProperty]]","v":61}
{"k":"[[Call]]","v":60}
{"k":"[[Construct]]","v":57}
{"k":"[[ViewedArrayBuffer]]","v":54}
{"k":"[[GetPrototypeOf]]","v":44}
{"k":"[[DefineOwnProperty]]","v":42}
{"k":"[[TypedArrayName]]","v":42}
{"k":"[[ArrayLength]]","v":39}
{"k":"[[ArrayBufferData]]","v":38}
{"k":"[[Promise]]","v":37}
{"k":"[[OwnPropertyKeys]]","v":34}
{"k":"[[Delete]]","v":33}
{"k":"[[Realm]]","v":32}
{"k":"[[Target]]","v":31}
{"k":"[[Reject]]","v":31}
{"k":"[[DateValue]]","v":30}
{"k":"[[PendingAsyncDependencies]]","v":29}
{"k":"[[LocalName]]","v":28}
{"k":"[[Resolve]]","v":28}
{"k":"[[EvaluationError]]","v":27}
{"k":"[[DFSAncestorIndex]]","v":27}
{"k":"[[ReferencedName]]","v":26}
{"k":"[[Extensible]]","v":26}
{"k":"[[ByteOffset]]","v":26}
{"k":"[[AsyncEvaluation]]","v":26}
{"k":"[[ModuleRequest]]","v":26}
{"k":"[[SetPrototypeOf]]","v":25}
{"k":"[[ImportName]]","v":25}
{"k":"[[ProxyHandler]]","v":23}
{"k":"[[ProxyTarget]]","v":23}
{"k":"[[AsyncGeneratorState]]","v":23}
{"k":"[[ExportName]]","v":23}
{"k":"[[Capability]]","v":23}
{"k":"[[IsExtensible]]","v":22}
{"k":"[[Base]]","v":22}
{"k":"[[MapData]]","v":22}
{"k":"[[HasProperty]]","v":21}
{"k":"[[DFSIndex]]","v":21}
{"k":"[[PreventExtensions]]","v":20}
{"k":"[[Order]]","v":20}
{"k":"[[BindingName]]","v":19}
{"k":"[[SetData]]","v":19}
{"k":"[[ByteIndex]]","v":18}
{"k":"[[Iterator]]","v":18}
{"k":"[[AlreadyCalled]]","v":18}
{"k":"[[Description]]","v":17}
{"k":"[[Block]]","v":17}
{"k":"[[Kind]]","v":17}
{"k":"[[StringData]]","v":17}
{"k":"[[ECMAScriptCode]]","v":17}
{"k":"[[ContentType]]","v":17}
{"k":"[[ArrayBufferByteLength]]","v":17}
{"k":"[[Strict]]","v":16}
{"k":"[[Module]]","v":16}
{"k":"[[ErrorData]]","v":16}
{"k":"[[Index]]","v":16}
{"k":"[[RemainingElements]]","v":16}
{"k":"[[NoTear]]","v":15}
{"k":"[[ElementSize]]","v":15}
{"k":"[[Environment]]","v":15}
{"k":"[[WeakRefTarget]]","v":15}
{"k":"[[ByteLength]]","v":15}
{"k":"[[GeneratorBrand]]","v":15}
{"k":"[[CycleRoot]]","v":15}
{"k":"[[AsyncParentModules]]","v":15}
{"k":"[[PromiseState]]","v":15}
{"k":"[[OriginalFlags]]","v":15}
{"k":"[[ThisValue]]","v":14}
{"k":"[[NumberData]]","v":14}
{"k":"[[RegExpMatcher]]","v":14}
{"k":"[[BindingObject]]","v":14}
{"k":"[[ObjectRecord]]","v":14}
{"k":"[[Cells]]","v":14}
{"k":"[[GeneratorState]]","v":14}
{"k":"[[TopLevelCapability]]","v":14}
{"k":"[[Min]]","v":14}
{"k":"[[Max]]","v":14}
{"k":"[[HappensBefore]]","v":14}
{"k":"[[EventList]]","v":13}
{"k":"[[EventsRecords]]","v":13}
{"k":"[[OuterEnv]]","v":13}
{"k":"[[WeakMapData]]","v":13}
{"k":"[[ParameterMap]]","v":13}
{"k":"[[Indent]]","v":13}
{"k":"[[WeakSetData]]","v":12}
{"k":"[[InitialName]]","v":12}
{"k":"[[Values]]","v":12}
{"k":"[[CandidateExecution]]","v":11}
{"k":"[[IsHTMLDDA]]","v":11}
{"k":"[[BooleanData]]","v":11}
{"k":"[[SourceText]]","v":11}
{"k":"[[ThisBindingStatus]]","v":11}
{"k":"[[HostDefined]]","v":11}
{"k":"[[HasTLA]]","v":11}
{"k":"[[Handler]]","v":11}
{"k":"[[AgentSignifier]]","v":10}
{"k":"[[Payload]]","v":10}
{"k":"[[CodeUnitCount]]","v":10}
{"k":"[[NextMethod]]","v":10}
{"k":"[[DeclarativeRecord]]","v":10}
{"k":"[[GlobalEnv]]","v":10}
{"k":"[[AsyncGeneratorQueue]]","v":10}
{"k":"[[StartIndex]]","v":10}
{"k":"[[Intrinsics]]","v":9}
{"k":"[[Callback]]","v":9}
{"k":"[[LittleEndian]]","v":9}
{"k":"[[IsClassConstructor]]","v":9}
{"k":"[[DataView]]","v":9}
{"k":"[[SyncIteratorRecord]]","v":9}
{"k":"[[VarNames]]","v":8}
{"k":"[[Exports]]","v":8}
{"k":"[[CodePoint]]","v":8}
{"k":"[[AlreadyResolved]]","v":8}
{"k":"[[Job]]","v":8}
{"k":"[[ReadsFrom]]","v":8}
{"k":"[[BigIntData]]","v":7}
{"k":"[[IsUnpairedSurrogate]]","v":7}
{"k":"[[BoundTargetFunction]]","v":7}
{"k":"[[FunctionObject]]","v":7}
{"k":"[[ThisMode]]","v":7}
{"k":"[[Names]]","v":7}
{"k":"[[ConstructorKind]]","v":7}
{"k":"[[GeneratorContext]]","v":7}
{"k":"[[PromiseResult]]","v":7}
{"k":"[[OriginalSource]]","v":7}
{"k":"[[EndIndex]]","v":7}
{"k":"[[Stack]]","v":7}
{"k":"[[PromiseFulfillReactions]]","v":7}
{"k":"[[PromiseRejectReactions]]","v":7}
{"k":"[[HostSynchronizesWith]]","v":7}
{"k":"[[SynchronizesWith]]","v":7}
{"k":"[[Event]]","v":6}
{"k":"[[ChosenValue]]","v":6}
{"k":"[[ChosenValues]]","v":6}
{"k":"[[SymbolData]]","v":6}
{"k":"[[UnregisterToken]]","v":6}
{"k":"[[CleanupCallback]]","v":6}
{"k":"[[ClassFieldInitializerName]]","v":6}
{"k":"[[Namespace]]","v":6}
{"k":"[[Object]]","v":6}
{"k":"[[ObjectWasVisited]]","v":6}
{"k":"[[AsyncGeneratorContext]]","v":6}
{"k":"[[ModifyOp]]","v":6}
{"k":"[[Gap]]","v":6}
{"k":"[[PromiseIsHandled]]","v":6}
{"k":"[[ReadsBytesFrom]]","v":6}
{"k":"[[PrivateElements]]","v":5}
{"k":"[[IsWithEnvironment]]","v":5}
{"k":"[[NewTarget]]","v":5}
{"k":"[[HomeObject]]","v":5}
{"k":"[[GlobalThisValue]]","v":5}
{"k":"[[GlobalObject]]","v":5}
{"k":"[[TemplateMap]]","v":5}
{"k":"[[Array]]","v":5}
{"k":"[[Closure]]","v":5}
{"k":"[[RequestedModules]]","v":5}
{"k":"[[IndirectExportEntries]]","v":5}
{"k":"[[Completion]]","v":5}
{"k":"[[AgentOrder]]","v":5}
{"k":"[[PrivateMethods]]","v":4}
{"k":"[[Fields]]","v":4}
{"k":"[[OuterPrivateEnvironment]]","v":4}
{"k":"[[Site]]","v":4}
{"k":"[[CanBlock]]","v":4}
{"k":"[[Signifier]]","v":4}
{"k":"[[KeptAlive]]","v":4}
{"k":"[[AgentSynchronizesWith]]","v":4}
{"k":"[[HeldValue]]","v":4}
{"k":"[[FormalParameters]]","v":4}
{"k":"[[BoundArguments]]","v":4}
{"k":"[[ImportMeta]]","v":4}
{"k":"[[VisitedKeys]]","v":4}
{"k":"[[RemainingKeys]]","v":4}
{"k":"[[LocalExportEntries]]","v":4}
{"k":"[[StarExportEntries]]","v":4}
{"k":"[[Symbol]]","v":4}
{"k":"[[Greedy]]","v":4}
{"k":"[[CharSet]]","v":4}
{"k":"[[Invert]]","v":4}
{"k":"[[ArrayBufferDetachKey]]","v":4}
{"k":"[[Errors]]","v":4}
{"k":"[[RevocableProxy]]","v":4}
{"k":"[[Name]]","v":3}
{"k":"[[Initializer]]","v":3}
{"k":"[[BodyFunction]]","v":3}
{"k":"[[PrivateEnvironment]]","v":3}
{"k":"[[ScriptOrModule]]","v":3}
{"k":"[[BoundThis]]","v":3}
{"k":"[[Context]]","v":3}
{"k":"[[ImportEntries]]","v":3}
{"k":"[[ReplacerFunction]]","v":3}
JavaScript所有内部属性列表 [[Configurable]] 等的更多相关文章
- JavaScript事件的属性列表
HTML 4.0 的新特性之一是能够使 HTML 事件触发浏览器中的行为,比如当用户点击某个 HTML 元素时启动一段 JavaScript.下面是一个属性列表,可将之插入 HTML 标签以定义事件的 ...
- javascript——函数内部属性
<script type="text/javascript"> //在函数内部有两个特殊的属性:arguments 和 this.arguments是一个类数组对象,包 ...
- js中的内部属性与delete操作符
本文正式地址:http://www.xiabingbao.com/javascript/2015/08/03/javascript-delete-configurable 在讲解Configurabl ...
- Javascript高级程序设计——函数内部属性与函数属性
函数内部属性 函数内部有两个特殊的属性arguments和this.其中,arguments是类数组对象,包含传入函数中的所有值,这个arguments还有一个属性:callee,这个属性是一个指针, ...
- 深入理解JavaScript中的属性和特性
深入理解JavaScript中的属性和特性 JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性. 主要内容如下: 理解JavaSc ...
- 理解JavaScript中的属性描述符
我们把描述JavaScript中定义内部特性的属性叫做属性描述符 分为两大类:数据描述符和存取描述符 数据描述符是一个拥有可写或不可写的属性(Writable); 存取描述符不包含数据值,是一组拥有g ...
- JavaScript | 对象与属性
———————————————————————————————————————————— 对象:JavaScript是基于原型的语言,没有Class,所以将函数作为类 - - - - - - - - ...
- es6之Object扩展及内部属性的总结
对象扩展: 1.Object.is(A,B) :比较两个值是否相等,取代===运算:只要值相等代表相等:其中NAN和NAN相等:+0和-0不相等: 2.Object.assign(target,sou ...
- js--对象内部属性与 Object.defineProperty()
前言 JavaScript 中允许使用一些内部特性来描述属性的特征,本文来总结一下对象内部属性与 Object.defineProperty() 的相关知识. 正文 1.属性类型 js中使用某些内部属 ...
- javascript数据结构与算法---列表
javascript数据结构与算法---列表 前言:在日常生活中,人们经常要使用列表,比如我们有时候要去购物时,为了购物时东西要买全,我们可以在去之前,列下要买的东西,这就要用的列表了,或者我们小时候 ...
随机推荐
- WIN10使用SSH连接VMWare16 Pro的CentOS8.4(保姆级)
目录 本机环境 配置连接 本机环境 连接工具用的是MobaXterm,下载地址https://mobaxterm.mobatek.net/download.html VMWare16 Pro Cent ...
- 【iOS逆向】某车之家sign签名分析
阅读此文档的过程中遇到任何问题,请关注公众号[移动端Android和iOS开发技术分享]或加QQ群[309580013] 1.目标 分析某车之家sign签名算法的实现 2.操作环境 frida mac ...
- 【云原生 · Docker】Docker简介及基本组件
[云原生·Docker]Docker简介及基本组件 1.Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linu ...
- 第2-3-8章 分片上传和分片合并的接口开发-文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
目录 5.10 接口开发-分片上传 5.10.1 分片上传介绍 5.10.2 前端分片上传插件webuploader 5.10.3 后端代码实现 5.10.3.1 接口文档 5.10.3.2 代码开发 ...
- Vue 路由跳转显示空白页面的问题
在写一个登录界面跳转到首页时,路由如下 export default new VueRouter({ routes: [ { path: "/", name: "Logi ...
- 包管理器pacman常用方法
详见[pacman(简体中文) - ArchWiki]:https://wiki.archlinux.org/title/Pacman_(简体中文) 更新系统: pacman -Syu 对整个系统进行 ...
- python opencv制作隐藏图片
前言 隐藏图片就是在白色背景和黑色背景显示出不同的图片,之前qq可以显示,现在好像也不行了,原因就是原来的qq,在发出来默认是白色背景,而点开后是黑色背景.但是这个原理还是挺有意思的,所以简单的研究了 ...
- MISC中的图片修改宽高问题
在做CTF中MISC分类题目时,很常见的一个问题就是修改图片正确的宽与高 (此篇笔记中的内容以ctfshow中MISC入门分类为切入点,感兴趣的同学可以一边做一边有不会的看看,仅供参考,我是菜鸡) 曾 ...
- 【每日一题】【栈】2022年2月2日-NC40 两个链表生成相加链表
描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数. 给定两个这种链表,请生成代表两个整数相加值的结果链表. 答案:栈 import java.util.*; /* ...
- 深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」
[易错问题]Major GC和Full GC的区别是什么?触发条件呢? 相信大多数人的理解是Major GC只针对老年代,Full GC会先触发一次Minor GC,不知对否?我参考了R大的分析和介绍 ...