一行神奇的javascript代码
一行神奇的javascript代码
(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]
运算符 | 说明 |
---|---|
.[ ] ( ) | 字段访问、数组索引、函数调用和表达式分组 |
++ — – ~ ! delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义的值 |
* / % | 相乘、相除、求余数 |
+ – + | 相加、相减、字符串串联 |
<< >> >>> | 移位 |
< <= > >= instanceof | 小于、小于或等于、大于、大于或等于、是否为特定类的实例 |
== != === !== | 相等、不相等、全等,不全等 |
& | 按位“与” |
^ | 按位“异或” |
| | 按位“或” |
&& | 逻辑“与” |
|| | 逻辑“或” |
?: | 条件运算 |
= OP= | 赋值、赋值运算(如 += 和 &=) |
, | 多个计算 |
根据此规则,我们把这一串运算分为以下16个子表达式:
- 减号-,乘号*,肯定是进行数学运算,所以操作数需转化为number类型。
- 加号+,可能是字符串拼接,也可能是数学运算,所以可能会转化为number或string
- 一元运算,如+[],只有一个操作数的,转化为number类型
1. 对于非原始类型的,通过ToPrimitive() 将值转换成原始类型:
2. 通过ToNumber()把值转换成Number,直接看ECMA 9.3的表格http://es5.github.io/#x9.3
参数 | 结果 |
---|---|
undefined | NaN |
null | +0 |
boolean | true被转换为1,false转换为+0 |
number | 无需转换 |
string | 由字符串解析为数字。例如,”324″被转换为324 |
3. 通过ToString()把值转化成字符串, 直接看ECMA 9.8的表格http://es5.github.io/#x9.8
参数 | 结果 |
---|---|
undefined | “undefined” |
null | “null” |
boolean | “true” 或者 “false” |
number | 数字作为字符串。比如,”1.765″ |
string | 无需转换 |
转载于:https://www.cnblogs.com/qjyking/p/5769365.html
一行神奇的javascript代码相关推荐
- 一行能装逼的JavaScript代码,就是怎么sao
一行神奇的js代码,当时我就震惊了,这不就是传说中的ZB神奇么- - 哈哈.写本篇文章的缘由是之前看到了一段js代码,如下: 然后让大家运行,出来的结果让人有点出乎意料,"sb". ...
- 一行能装逼的 JavaScript 代码
点击上方"逆锋起笔",公众号回复 PDF 领取大佬们推荐的学习资料 一行神奇的js代码,当时我就震惊了,这不就是传说中的ZB神奇么- - 哈哈.写本篇文章的缘由是之前看到了一段js ...
- 一行能装逼的JavaScript代码
点击上方"蓝色字体",选择"设为星标" 做积极向上的前端人! 作者:xixi 链接:https://www.cnblogs.com/telnetzhang/p/ ...
- 三段诡异的JavaScript代码,结果出乎意料
[CSDN 编者按]自学习前端以来,陆陆续续会遇见很多短小令人惊讶的js代码,很多人会认为这是bug的存在,但换个角度来看待,是不是会发生有趣的事情呢. 作者 | Chirag Swadia 译者 | ...
- 一行能装逼的JavaScript代码的延伸
前段就是坑,入坑水真深. 先看看一个黑科技, 纳尼,这是什么东西. (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+ ...
- 揭秘史上最昂贵的一行Javascript代码
最昂贵的Javascript代码缘起: 前一段时间,Opera 浏览器公司需要越来越多的服务器.本身公司预见到 Opera Mini, Opera Link, Opera Turbo 会带来爆炸性增长 ...
- 只用这 6 个字符,就可以写出任意 JavaScript 代码!
作者简介: 李中凯老师,8年前端开发,前端负责人,擅长JavaScript/Vue. 公众号:1024译站 掘金文章专栏:https://juejin.im/user/57c7cb8a0a2b5800 ...
- 翻译-高质量JavaScript代码书写基本要点(转载)
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=1173 原文作者:S ...
- XML转JSON的javascript代码
为什么80%的码农都做不了架构师?>>> 下面是神奇的XML转JSON的javascript代码: // Changes XML to JSON function xmlToJ ...
最新文章
- 使用C#开发Socket通讯
- SAP MM Return Purchase Order之使用
- mongodb基本语句
- 从Exchange 通往Office 365系列(十六)添加域名到Office 365
- 验证码 -图形图像识别的算法。http://blog.csdn.net/xtalk2008/archive/2007/11/01/1861310.aspx...
- [原创]django+ldap+memcache实现单点登录+统一认证
- 6种常见的地标识别算法整理和总结
- 【第一篇】Volley的使用之json请求
- 考虑用静态工厂方法代替构造器
- studying and learning
- 2d游戏地图编辑器_C语言实现大型2D格斗游戏,1.8万行代码!
- 如何通过投掷一枚硬币产生各种概率
- 在克隆环境上分离httpd和subversion。
- c语言程序设计100题,编程题(c语言编程题库100题)
- 吴恩达 Deeplearning深度学习笔记v5.7 最新PDF版 免积分下载
- filezilla server 下载、安装、配置教程(包含新版使用配置)
- 机器学习(8): 逻辑回归算法 小结及实验
- cαr怎么发音_韵母a的发音情况是()。
- Vue 3 Composition API - “ref”和“reactive”
- 银行卡号定位(python3)