为什么 JavaScript 中 (([]===[])+/-/)[1] = 'a' 和 (1+{})[(1<<1)+1] = 'b' ?

2024-01-29

最近我发现了一个有趣的网站,其中展示了 Javascript 混淆器:http://bl.ocks.org/jasonsperske/5400283 http://bl.ocks.org/jasonsperske/5400283

例如,(([]===[])+/-/)[1] gives a and (1+{})[(1<<1)+1] gives b.

我曾努力尝试理解这些混淆结果的评估顺序,但徒劳无功。

Taking (1+{})[(1<<1)+1]举个例子,我明白<<是按位移位运算符,将返回 2,因此表达式变为(1+{})[3]。但后来我无法理解这是什么意思1+{} and [3].

谷歌对这个问题并没有真正的帮助,因为搜索引擎不太喜欢括号或斜线,所以如果有重复的问题,我很抱歉。


这只是混淆视听的伎俩。

例如 :

[]===[]===>false

and

([]===[])+/-/===>"false/-/"(你可以自己在控制台测试一下)

那么什么是(([]===[])+/-/)[1]? (第二个字符)

没错:'a'

You may也想看看这个:

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

为什么 JavaScript 中 (([]===[])+/-/)[1] = 'a' 和 (1+{})[(1<<1)+1] = 'b' ? 的相关文章

  • 全局 JavaScript 变量作用域:为什么这不起作用?

    所以我在玩 JavaScript 时遇到了我认为奇怪的事情 有谁能解释一下以下内容吗 我已将警报值作为评论包含在内 为什么 foo 中的第一个警报 msg 返回不明确的并不是outside var msg outside function
  • Object.assign() - 奇怪的行为需要解释

    我有这个代码 function margeOptions options passedOptions options Object assign options passedOptions let passedOpts a true let
  • 将字符串转换为变量名。 (JavaScript)

    我确实查看了前面的问题 但它们是针对整数值的 我需要文本值的答案 我在本周早些时候问了一个与此相关的问题 但现在是这样 如下所示 我使 Make x 等于某个字符串值 Acura Honda Toyota 当我将 Make x 传递到函数
  • TypeScript 中类和命名空间的区别

    到底有什么区别classes and namespaces在打字稿中 我知道 如果您创建一个带有静态方法的类 您可以在不实例化该类的情况下访问它们 这正是我猜想的命名空间的要点之一 我还知道你可以创建多个同名的命名空间 并且它们的方法在编译
  • IE8 中的 Javascript 消息超出堆栈空间

    我正在使用 Breeze 1 4 1 Internet Explorer 8 和 ASP NET MVC 4 Web API 我在查询时收到以下消息 查询失败 localhost port breeze Data Metadata 元数据导
  • 为什么新行上的 return 语句不返回任何值? [复制]

    这个问题在这里已经有答案了 考虑以下情况 function func1 return hello world function func2 return hello world console log func1 console log f
  • Ember.js 数组作为模型的属性

    干杯 我有一些模型 它的一个属性是一个数组 但由于某些原因 我在服务器上使用 mongoDB 并且它是嵌入式模型和 ember data 的问题 我不能做这样的事情 App Foo DS Model extend numbers DS ha
  • 赋予 d3 序数轴标签与尺度名称不同

    我有一个序数scale具有不同值的某些标签 我想显示该比例的轴 其中轴标签与比例标签不同 我有这个代码 var width 1000 var height 600 var margins left 100 40 right 25 botto
  • AttachEvent 或 addEventListener - 存储在哪里?

    在 jQuery 中 如果我这样做 a click function Do something 点击事件存储在 a data events 我可以像这样获取它 jQuery each a data events function i eve
  • React.js this.props.data.map() 不是一个函数

    我正在搞乱反应并尝试解析和渲染 json 对象 现在 我只是使用硬编码对象设置它以进行测试 而不是从 ajax 调用中获取它
  • contenteditable 在 safari 中不起作用,但在 chrome 中起作用

    我有一个奇怪的问题 这在 chrome 中按预期工作 但在 safari 中它只会发光 但不会对按键输入做出反应 这是触发文本版本的方法 var namebloc event currentTarget find column filena
  • Angular UI.Bootstrap 单选按钮在 ng-repeat 中表现得很奇怪[重复]

    这个问题在这里已经有答案了 我在 Angular 的 ui bootstrap 中动态生成无线电模型的选项时遇到问题 我想我可以简单地对数组进行 ng repeat 使用 btn radio 属性的内容 如下所示 in the contro
  • 通过电子邮件发送在 HTML5 画布上创建的图像

    我有一个画布 用户可以通过交互来更改设计 现在 用户完成更改后 可以提交他的设计及其电子邮件 ID 但为了提交设计 我使用以下方法将画布转换为图像http www nihilogic dk labs canvas2image http ww
  • 检测 JavaScript 中的焦点丢失

    我希望能够检测 JavaScript 中任意元素何时失去焦点 因此我可以构建一个类似于 jEdit 的内联编辑工具 我不能依赖 jQuery 来实现这个库 所以我需要一个本机方法来完成它 我查看了 onblur 这似乎是正确的事情 但 MD
  • Flot 0.8.2 折线图 - 颜色错误

    我正在使用 Flot 折线图并设置它们的颜色 我发现了一个奇怪的错误 在前 3 种颜色之后 绘图对所有其他线条使用最后一种颜色 这不是正确的行为 更有趣的是图例显示了正确的颜色 这是一个已知的错误 var dataSet label d1
  • Niceedit本地上传图片失败

    我是这样称呼编辑的 new nicEditor buttonList bold italic underline upload iconsPath img nicedit png uploadURI http server com inte
  • 是否可以从 webpack 中的文件名中删除特殊字符?

    长话短说 我的资产文件名中不能包含某些字符 例如连字符 我没有运气通过解析 webpack 文档来弄清楚是否可以使用正则表达式或类似的东西重命名文件 这样我就可以从我无法控制源文件名的 3rd 方包中删除任何连字符 我的超级天真的例子是这样
  • Javascript 替换为正则表达式无法正常工作

    我正在尝试使用正则表达式验证名称 正则表达式阻止用户连续输入 2 个空格或点 这是我的代码 function test input var regex A Za z 0 1 s 0 1 input value input value rep
  • 如何制作饼图聚合数据源?

    Using 适用于 ASP NET MVC 的 Kendo UI 完整版 http www kendoui com 版本 2013 3 1119 2013年11月20日 如果我有这段代码 status chart kendoChart da
  • 相当于 JavaScript 中 Ruby 的each_cons

    许多语言都曾提出过这个问题 但 javascript 却没有 Ruby 有方法Enumerable each cons https devdocs io ruby 2 5 enumerable method i each cons看起来像这

随机推荐

  • 如何将 Z3 与 C++ 结合使用

    我想将 Z3 与 C 一起使用 并且我遵循了安装指南 使用 Visual Studio 命令提示符在 Windows 上构建 Z3 https github com Z3Prover z3 building z3 on windows us
  • Webmatrix 布局——插入头部?

    我使用 Asp Net 和 Razor 视图引擎创建了一个网站 与使用 WebMatrix 相同 到目前为止 我一直在使用 SQL 直接查询数据库 但现在我有一个页面需要查询返回 XML 的 WCF 服务 让它返回 JSON 或 ODATA
  • 在 SQLAlchemy 中使用 declarative_base 时,如何根据需要绑定引擎?

    这是我的代码 from sqlalchemy import create engine Column Integer from sqlalchemy ext declarative import declarative base from
  • 如何在 postgresql 中找到列中的最大值?

    例如 name weight jon 100 jane 120 joe 130 如何只返回权重最大的人的名字 SELECT name FROM tbl ORDER BY weight DESC LIMIT 1 比其他答案性能更高 并且仅产生
  • 2013 年我应该使用 HTML5 编写我的网站吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 验证日期模式

    我需要一个 javascript 方法来验证日期模式 如下所示 2012 年 1 月 14 日 到目前为止 我不确定该模式使用哪个正则表达式 因为它不是标准日期 例如 14 01 2012 或 01 14 2012 或 01 04 2012
  • 为什么 jqueryUI datepicker 会抛出错误?

    我正在尝试 jqueryUI 但 firebug 在该脚本上捕获以下错误 function date datepicker 萤火虫错误如下 date datepicker is not a function 在我的 html 上 日期 id
  • 启发式和元启发式有什么区别?

    经过对算法的一些研究后 我发现了两个令我困惑的术语 我读过至少 20 篇论文 但都没有任何明确的定义 我希望有人能帮助我区分启发式算法和元启发式算法之间的区别 如果可能的话 添加它的来源 ps 我已经知道这些词的含义 但我不知道它们在计算机
  • 如何将旋转器数据从一个活动传递到另一个活动?

    此代码不会从微调器读取值 它始终只读取第一个值 btnResult setOnClickListener new View OnClickListener final String USN spnConversions getSelecte
  • 在 Visual Studio 中设置 FILE_ATTRIBUTE_DEVICE

    我想知道是否可以在 Visual C 中调用 CreateFile 函数来创建属性为 FILE ATTRIBUTE DEVICE 0x00000040 十六进制 64 十进制 的文件 根据 MSDN API FILE ATTRIBUTE D
  • Laravel 4 - 使用 hasMany 关系时插入多条记录

    仍在适应 Laravel 4 我有点不确定为什么这不起作用 在 L3 中 我能够将多条记录插入到表中 如下所示 comments array array message gt A new comment array message gt A
  • 依赖项规范必须是字符串或映射

    pubspec yaml 第 32 行第 5 列出错 依赖项规范必须是字符串或映射 32 assets 33 酒吧失败 65 问题是我的资产文件夹位于错误的位置 它不应该处于依赖关系下 另外 assets 前必须加2个空格 如图
  • Swift 中的属性和变量有什​​么区别?

    从一些最初的教程中 我看到属性属于一个类 本质上是 C 世界中使用的 全局变量 几年前编码 我还认为变量更多的是仅在方法中使用 存储信息的 本地 实体 然后我看到了 Quora 的这个帖子 https www quora com Apple
  • Java win32 库/api

    是否有合适的 Java win32 库 例如 显示当前进程 查找进程占用的端口号等 或者像 WMI 库之类的东西 看一下JNA https github com twall jna 这是与本机代码通信的 100 纯 java 方式 他们有一
  • 如何抑制 Delphi DataSnap 错误消息对话框?

    我们在 Windows 2003 Server 上运行 DataSnap Delphi 2009 应用程序 DataSnap 客户端和服务器位于同一台计算机上 通过 Borland Socketserver 使用 DCOM 客户端运行后台批
  • 为什么将 Avro 与 Kafka 结合使用 - 如何处理 POJO

    我有一个 Spring 应用程序 它是我的 kafka 生产者 我想知道为什么 avro 是最好的选择 我读到了它以及它提供的所有内容 但为什么我不能序列化我用 jackson 自己创建的 POJO 并将其发送到 kafka 我这样说是因为
  • Amazon MWS Feed API 更新订单状态时出现问题

    我正在使用 amazon mws feed api 来更新我网站上的订单状态 当我打电话给提交供稿api 提交成功 但是 当我打电话给获取Feed提交结果 它返回给我一个错误 指出
  • 使用 UITextView 和 NSMutableAttributedString 对齐文本

    我正在尝试为一个合理的文本UITextView with NSMutableAttributedString the NSMutableAttributedString是由不同的NSAttributedString因为我需要粗体和常规字体
  • 什么是 Chocolatey“安装”包?

    关于审查巧克力包装 https chocolatey org packages可用时 我遇到了一些有两个 或有时更多 显然用于同一产品的软件包 乍一看无法区分 例如 有自动热键包 然后还有一个自动热键 install 在这里查看 Choco
  • 为什么 JavaScript 中 (([]===[])+/-/)[1] = 'a' 和 (1+{})[(1<<1)+1] = 'b' ?

    最近我发现了一个有趣的网站 其中展示了 Javascript 混淆器 http bl ocks org jasonsperske 5400283 http bl ocks org jasonsperske 5400283 例如 1 give