<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 --"说声爱你不容易"
原文地址:http://www.cnblogs.com/slency-ll/p/7735382.html