简介

据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]] 等的更多相关文章

  1. JavaScript事件的属性列表

    HTML 4.0 的新特性之一是能够使 HTML 事件触发浏览器中的行为,比如当用户点击某个 HTML 元素时启动一段 JavaScript.下面是一个属性列表,可将之插入 HTML 标签以定义事件的 ...

  2. javascript——函数内部属性

    <script type="text/javascript"> //在函数内部有两个特殊的属性:arguments 和 this.arguments是一个类数组对象,包 ...

  3. js中的内部属性与delete操作符

    本文正式地址:http://www.xiabingbao.com/javascript/2015/08/03/javascript-delete-configurable 在讲解Configurabl ...

  4. Javascript高级程序设计——函数内部属性与函数属性

    函数内部属性 函数内部有两个特殊的属性arguments和this.其中,arguments是类数组对象,包含传入函数中的所有值,这个arguments还有一个属性:callee,这个属性是一个指针, ...

  5. 深入理解JavaScript中的属性和特性

    深入理解JavaScript中的属性和特性 JavaScript中属性和特性是完全不同的两个概念,这里我将根据自己所学,来深入理解JavaScript中的属性和特性. 主要内容如下: 理解JavaSc ...

  6. 理解JavaScript中的属性描述符

    我们把描述JavaScript中定义内部特性的属性叫做属性描述符 分为两大类:数据描述符和存取描述符 数据描述符是一个拥有可写或不可写的属性(Writable); 存取描述符不包含数据值,是一组拥有g ...

  7. JavaScript | 对象与属性

    ———————————————————————————————————————————— 对象:JavaScript是基于原型的语言,没有Class,所以将函数作为类 - - - - - - - - ...

  8. es6之Object扩展及内部属性的总结

    对象扩展: 1.Object.is(A,B) :比较两个值是否相等,取代===运算:只要值相等代表相等:其中NAN和NAN相等:+0和-0不相等: 2.Object.assign(target,sou ...

  9. js--对象内部属性与 Object.defineProperty()

    前言 JavaScript 中允许使用一些内部特性来描述属性的特征,本文来总结一下对象内部属性与 Object.defineProperty() 的相关知识. 正文 1.属性类型 js中使用某些内部属 ...

  10. javascript数据结构与算法---列表

    javascript数据结构与算法---列表 前言:在日常生活中,人们经常要使用列表,比如我们有时候要去购物时,为了购物时东西要买全,我们可以在去之前,列下要买的东西,这就要用的列表了,或者我们小时候 ...

随机推荐

  1. 嵌入式-C语言基础:malloc动态开辟内存空间

    #include<stdio.h> #include<stdlib.h> int main() { // char *p;//定义一个野指针:没有让它指向一个变量的地址 // ...

  2. 嵌入式-c语言基础:冒泡排序实现从大到小排列

    #include<stdio.h> int main() { /*冒泡排序:从大到小*/ /*i=0 第1轮(i+1):需要比较9次(sizeArr-i-1)*/ /*i=1 第2轮(i+ ...

  3. perl之grep函数的用法

    转载至 perl中grep的详细用法 grep有2种表达方式: 1 grep BLOCK LIST 2 grep EXPR, LIST BLOCK表示一个code块,通常用{}表示:EXPR表示一个表 ...

  4. C++初阶(类的访问权限以及封装+this指针+构造函数+析构函数+拷贝构造函数+参数列表+友元+内部类)

    面向过程与面向对象 C语言是面向过程的,关注的是过程(函数),分析出求解问题的步骤,通过函数调用逐步解决问题. C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成. ...

  5. c++小练习——黑白棋

    没什么好发的,发给黑白棋水一水,如果有人能发现问题就更好了. /* Othello.cpp 黑白棋,实现随时结束并判断胜负的功能 成功运行于Visual Studio 2013 */ #include ...

  6. python将列表中的数字合并成一个数字

    前言 今天,写算法题,其中需要进行这一步操作 输入: [1,2,3,4,5] 输出: 12345 解决办法 我首先想到用 join() 函数,但我发现使用join函数要求列表中的元素都是字符串,所以需 ...

  7. day22 存储过程 & 游标 & 事务

    存储过程 是一种在数据库中存储复杂程序(复杂sql语句),以便外部程序调用的一种数据库对象 存储过程是为了完成特定功能的sql语句集,经编译创建并保存在数据库中,用户可以通过指定存储过程的名字并给定参 ...

  8. php+nginx环境搭建

    PHP安装教程参考:https://www.cnblogs.com/kyuang/p/6801942.html 1.安装基础环境: yum -y install gcc bison bison-dev ...

  9. 【Zookeeper】结构、应用、安装部署与参数、客户端命令行操作、API应用、内部原理(选举机制、写数据、监听器)

    一.Zookeeper入门 1.概述 分布式服务管理框架(存储和管理数据) Zookeeper=文件系统+通知机制 2.特点 主从集群 半数以上,正常工作 请求顺序执行 数据更新具有原子性 3.数据结 ...

  10. C++日期和时间编程总结

    一,概述 二,C-style 日期和时间库 2.1,数据类型 2.2,函数 2.3,数据类型与函数关系梳理 2.4,时间类型 2.4.1,UTC 时间 2.4.2,本地时间 2.4.3,纪元时间 2. ...