一些奇怪的题目


(3)为什么是NaN?
var a = 100;
    (function numbercalc(a) {
        var b = a * 2;
        var a = 200;
        var c = a/2;
        console.log("b "+ b);      //NaN
        console.log("c " + c);
    })();
(4)递归地遍历一个数组返回一个反向的字符串的函数
 var reverseArray = function (x,indx,str) {
        return indx == 0 ? str : reverseArray(x,--indx,(str+=" " + x[indx]));
    };
    var arr = ['apple','orange','grape','pear'];
    console.log(reverseArray(arr,arr.length,""));
(5)fibonacci
 var fibonacci = function (n) {
       return n < 2 ? n : fibonacci(n-1) + fibonacci(n-2);
   };
   console.log(fibonacci(8));

返回的是输入序号对应的数

(6)点击删除自身段落
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        html,body{margin: 0;padding: 0;}

    </style>
</head>
<body>

<p>我是第1段</p>
<p>我是第2段</p>
<p>我是第3段</p>
<p>我是第4段</p>
<p>我是第5段</p>
<script>
    var para = document.getElementsByTagName('p');
    for (var i = 0;i < para.length;i++){
        para[i].onclick = deleteSelf;
    }
    function deleteSelf() {
        var parent = this.parentNode;
        parent.removeChild(this);
        alert("params" + document.getElementsByTagName('p').length);
    }
</script>
</body>
</html>
(7)作用域this相关
window.val = 1;
        var count = {
            val:2,
            getRes:function(){
                this.val *= 2;
                console.log(this.val);
                val *= 2;
                console.log(val);
                console.log(this.val);
            }
        }
        count.getRes();
        console.log(window.val);
        var count1 = count.getRes;
        count1();    //2 4 8 8
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容