混淆 JavaScript 属性?

2024-01-08

我最近测试过UglifyJS https://github.com/mishoo/UglifyJS and YUI压缩器 http://developer.yahoo.com/yui/compressor/并注意到一些奇怪的事情。
两个缩小器似乎都没有更改对象属性的名称,只更改了变量和函数的名称。

例如,如果我有以下代码:

var objName = {first:2, second:4};
alert(objName.first + " " + objName.second);

名字first and second缩小版本中保持不变。
这是为什么?


由于在 javascript 中,函数中会创建新的作用域,因此您可以在立即调用的函数中作用域代码。

   // scoped
(function() {
    var objName = {first:2, second:4};
    alert(objName.first + " " + objName.second);
})();

然后使用Google 的闭包编译器 http://closure-compiler.appspot.com/home,如果您打开“高级”优化,它将发现这些属性仅在本地使用,并且会混淆它们。

   // result
var a={a:2,b:4};alert(a.a+" "+a.b);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

混淆 JavaScript 属性? 的相关文章

随机推荐

  • 文件中的正则表达式 re.sub 列表

    我有一个文本列表 可以使用以下内容重新编辑 re sub 0000 1111 data 替换模式 4 4 3 3 with 1 4 2 3对于 shell 中的一个输入 效果也很好 然而 我尝试在列表中使用这种模式给了我一个 第一行出现不良
  • 调用 HP ePrint Android 应用程序

    我正在开发一个 Android 应用程序 它应该调用 Android HP ePrint 应用程序进行无线打印 为此 我使用代码 Intent intent new Intent com hp android print PRINT int
  • 在 BigQueryIO.write() 操作之后执行进程

    我有一个以 BigQuery 表作为接收器的管道 我需要在数据写入 BigQuery 后执行一些步骤 这些步骤包括对该表执行查询 从中读取数据以及写入不同的表 如何实现以上目标 我是否应该为后者创建一个不同的管道 但在第一个管道之后调用它将
  • Spring:/** 和 /* 在路径方面的差异

    当我们引用路径时 两个星号和一个星号有什么区别 早些时候我正在调试我的 Spring 3 项目 我试图使用添加 swf
  • 在IRB中,我可以查看我之前定义的方法的源代码吗?

    如果我在 IRB 中定义了一个方法 是否有办法在稍后的会话中查看其来源 gt def my method gt puts hi gt end 稍后输出几个屏幕我希望能够写出类似的东西 gt source my method 并返回 gt d
  • Xcode 8.1 - 如何更新故事板中所有视图的框架?

    在 Xcode 8 1 中 我可以通过单击 更新框架 按钮来更新故事板中的每个视图 但我想更新所有视图 我该怎么做 They added one standalone button to the leftmost side in the c
  • Athena 无法使用 OpenCSVSerde 解析日期

    我在 S3 上有一个非常简单的 csv 文件 i d f s 1 2018 01 01 1 001 something great 2 2018 01 02 2 002 something terrible 3 2018 01 03 3 0
  • 地图上重叠注释 (MKAnnotationView) 的问题

    在我的 iPhone 应用程序中 我将 MapKit 与 MKMapView 和自定义 MKAnnotationView 结合使用 问题是当注释在地图上重叠时 在我的应用程序中 注释是照片 这些照片可能会重叠 并且当您点击前面出现的注释时
  • 从 CSV 中删除一行

    我有一个包含多行和两列的 CSV 名称 和 信息 我正在循环遍历 CSV 并检查每一行的条件 如果满足条件 我想删除该行 for i 0 i le CSV length i if CSV name Fred remove CSV i tha
  • setInterval 在非活动选项卡上不会减慢速度

    这可能与一个非常常见的问题相反 当您使用setInterval在一个选项卡上切换到另一个选项卡时 间隔会显着缩短 即减慢 这对于音频计时来说非常明显 因为您可以听到它被减慢的声音 但在最新的 Chrome 56 和 Firefox 51 上
  • WPF:为什么消息框标题栏上没有图标

    我想要的只是我的消息框应该在其标题栏中显示我的应用程序的图标 或任何其他图标 但它没有 为什么不呢 The MessageBox in WPF http msdn microsoft com en us library system win
  • 如何在 PHP 中找到拼写错误的相似单词?

    我将解释我的问题 我有一个名为country 它有两列 ID and name 当我想要寻找的时候 paris 但拼写错误 pares e 代替 i 我不会从数据库得到任何结果 我希望系统建议可以帮助搜索的相似单词 因此 我正在寻求帮助编写
  • 返回特定属性的默认 get 方法 - MATLAB

    我正在重构一些 MATLAB 遗留软件 涉及在广泛的测试中获得的数据 我正在尝试创建一个包含每个单独通道的数据以及一些额外信息 例如其物理单位 的类 只是为了将这个问题放在这里 该类可以如下所示 classdef Channel lt ha
  • 在字符串时间中添加 20 分钟并将其填充到文本框中或提醒它

    我在选择 列表控件中填充了一个时间字符串 例如 05 40 我想在其中添加 20 分钟 并在每次列表值在 jquery 或 javascript 中发生更改时填充在文本框中 document ready function starttime
  • 如何使用 Amazon EKS 上的 kubernetes 入口控制器将 http 重定向到 https

    我已经为我的应用程序配置了亚马逊证书管理器 ALB 入口控制器和域名 我可以通过端口 80 和端口 443 访问我的应用程序 所有证书都可以正常工作 但是 我想自动将所有来自 HTTP 的流量重定向到 HTTPS 以便自行输入域名的人被重定
  • 如何从 PHP 执行交互式命令?

    我需要执行kdiff3从 PHP 脚本在我的桌面计算机 localhost 中运行命令 使用浏览器 而不是命令行 我已授予用户权限www data正在执行脚本来执行 kdiff3 使用visudo 事实上 如果我登录为www data我可以
  • 如何在 QuickCheck (Haskell) 中使用“oneof”

    我正在尝试编写一个更改数独的道具 然后检查它是否仍然有效 但是 我不确定如何正确使用 oneof 函数 您能给我一些提示吗 prop candidates Sudoku gt Bool prop candidates su isSudoku
  • 无论如何,在不设置 https 连接的情况下设置 Telegram Webhook

    我想设置Telegram Webhook但我没有httpsURL 我也不想处理 ssl 证书 我可以通过使用 https URL 或不设置来解决这个问题https证书上了吗 Telegram webhook 描述 https core te
  • Android 将 apk 安装到设备时出现 [SEGMENTATION FAULT]

    我有个问题 当我尝试使用 AndroidStudio 部署 调试或运行 我的应用程序时 我在 RunLog 中收到以下错误 Waiting for device Target device samsung galaxy nexus WOVC
  • 混淆 JavaScript 属性?

    我最近测试过UglifyJS https github com mishoo UglifyJS and YUI压缩器 http developer yahoo com yui compressor 并注意到一些奇怪的事情 两个缩小器似乎都没