作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在自动生成的 javascript 文件中看到了这个:
function map(x){
x={x:x};
delete x.x;
return x
}
我的结论是用来创建一个对象,但是为什么要那样创建呢?是一种模式吗?
更新
更多信息,创建此代码的工具是来自 Google 的 dart2js,该代码用于此上下文:
(function (reflectionData) {
function map(x){x={x:x};delete x.x;return x}
if (!init.libraries) init.libraries = [];
if (!init.mangledNames) init.mangledNames = map();
if (!init.mangledGlobalNames) init.mangledGlobalNames = map();
if (!init.statics) init.statics = map();
if (!init.interfaces) init.interfaces = map();
最佳答案
在 dart 源代码中,有一条评论说此技术用于 v8 性能原因:
// [map] returns an object literal that V8 shouldn't try to optimize with a
// hidden class. This prevents a potential performance problem where V8 tries
// to build a hidden class for an object used as a hashMap.
这里的单词map
指的是一个associative array
关于javascript - 这个生成的代码应该(打算)做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19166869/
我在自动生成的 javascript 文件中看到了这个: function map(x){ x={x:x}; delete x.x; return x } 我的结论是用来创建一
我是一名优秀的程序员,十分优秀!