码迷,mamicode.com
首页 > Web开发 > 详细

js --"说声爱你不容易"

时间:2017-10-26 10:22:58      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:标题   数值   call   java   ntb   alt   结果   from   大数   

<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 --"说声爱你不容易"

标签:标题   数值   call   java   ntb   alt   结果   from   大数   

原文地址:http://www.cnblogs.com/slency-ll/p/7735382.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!