js --"说声爱你不容易"
<div class="tit"><label>yourName:</label><input type="text" id="yourName" /><button onclick="you(1)">确定</button></div>
<script type="text/javascript">
function you(num){
var resultNum = 1;
while(num < 300){
resultNum *= num ++;
}
var partArr = [];
var part = ((resultNum < num) + typeof []);
for (var i = 0; i< part.length; i++){
if((i + 1) % 3 == 0){
partArr.push(part[i]);
}
}
var special = String.fromCharCode((this + [])[52 >> 2].charCodeAt() - 1);
partArr.splice((~[]),0,special);
var ele1 = document.getElementById('yourName').value;
var ele2 = (resultNum / 1314 + '520') [([] + []) * 1];
var ele3 = partArr.join('');
var ele4 = arguments.callee.name;
return [ele1, ele2 ,ele3,ele4].join(' ');
}
</script>
知识点:
1、超过170的大数, 阶乘的结果为Infinity(无穷) (如上代码为299 !)
2、当window对象转换为字符串时,为‘[object window]’
3、~ 按位非
简单一点,对任一数值 X 进行按位非操作的结果为 - ( x + 1 )
那么, ~~X 就为 - ( - ( x + 1 ) + 1 )
4、>>右移 可以理解为10进制的 52 除以 4
5、formCharCode 和 charCodeAt ,为ASCII码值 与 字符 相互转换的方法
6、在函数中使用arguments.callee 指向的是函数本身
7、this指向的是函数的所有者
因为知识点都比较偏 ,
并且打印出来的结果是这样的:
所有标题为“ 说声爱你不容易 ”
* 以上代码是基于 HTML5学堂 公众号《解码》一篇中的代码 进行修改后的 样子 —— 版权说明
js --"说声爱你不容易"的更多相关文章
- 爬虫必看,每日JS逆向之爱奇艺密码加密,今天你练了吗?
友情提示:优先在公众号更新,在博客园更新较慢,有兴趣的关注一下知识图谱与大数据公众号,本次目标是抠出爱奇艺passwd加密JS代码,如果你看到了这一篇,说明你对JS逆向感兴趣,如果是初学者,那不妨再看 ...
- Respond.js – 让不懂爱的 IE6-8 支持 CSS3 Media Query
respond.min.js <script src="js/respond.min.js"></script> respond.min.js代码: /*! ...
- js原声代码 轮播图
js轮播图 html部分:建立div,内嵌img标签,可以设置大小, <!doctype html> <html> <head> <meta charset= ...
- js原声快速实现选项卡
var Rea = document.getElementById("rep"); var ReaAll = Rea.querySelectorAll("li" ...
- js毫秒数转换成时间格式
Date.prototype.Format = function (fmt) { //author: meizz var o = { "M+": this.getMonth() + ...
- Vue的理解:Vue.js新手入门指南----转
最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在 ...
- Vue.js 入门指南
1.Vue.js是什么? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注 ...
- JS模块化编程(三)
AMD&CMD 对象字面量 对象字面量表示,其实就是用一对大括号括起来的键值对,也就是JavaScript 声明对象的方式 var myObject = {variableKey : vari ...
- Vue.js系列之一初识Vue
在看vue.js之前,可以先看这两篇文章,对于为什么要使用vue会有一定帮助 1.Vue.js !important 2.界面之下:还原真实的MV*模式 !important 3.web前端优化之re ...
随机推荐
- grep 以及find 命令
grep 以及find 命令 1. find 命令 Linux 下find 命令在目录结构中搜索文件,并执行指定的操作.Linux 下find 命令提供了相当多的查找条件,功能很强大.由于find 具 ...
- ace-editor线上代码编辑器
package.json { "name": "vue-cli", "version": "1.0.0", " ...
- 容器中的诊断与分析2——live diagnosis——perf
Linux下的内核测试工具——perf使用简介 系统级性能分析工具 — Perf linux perf - 性能测试和优化工具:示例&应用 从2.6.31内核开始,linux内核自带了一个性能 ...
- Python连接redis时要注意的点
一.一般连接redis情况 from redis import Redis # 实例化redis对象 rdb = Redis(host='localhost', port=6379, db=0) rd ...
- Qt setstylesheet指定窗口
#窗口名称{ ...} 在窗口名称前加#号可以指定某个窗口设置stylesheet而不影响子窗口.子控件,可以用于设置边框,不影响子控件产生一样的边框.
- web 页面间传值 js 封装方法
用法 var id = getParam("id"); function getParam(strKey) { var url=document.URL; //var url=&q ...
- Linux下安装docker
//安装docker //需要输入时 输y就可以yum install -y epel-releaseyum install docker-io # 加入开机启动chkconfig docker on ...
- Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app
出现的问题: Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency ...
- springboot缓存注解——@Cacheable和@CacheConfig
@Caching :制定多个缓存规则 @Cacheable 和 @CachePut 同时标注时 ,@CachePut导致还是会走方法跟数据库交互 //根据lastName查,并将结果缓存,并且可以用于 ...
- Web API学习笔记(Python实现)
参考指南: Web API入门指南 http://www.cnblogs.com/guyun/p/4589115.html 用Python写一个简单的Web框架 http://www.cnblogs. ...