zoukankan      html  css  js  c++  java
  • JS面试题及答案总结

    1. 截取字符串abcdefg的efg 

    <div id="test">abcdefg</div>

    var mytext=document.getElementById("test"); 
    var myvalue=mytext.innerHTML; 
    var jiequ=myvalue.substring(4); 

    2. 写出一下运算结果 


    alert(typeof(null))  // object 
    alert(typeof(undefined))  // undefined 
    alert(typeof(NaN))  // number 
    alert(NaN==undefined)  // false 
    alert(NaN==NaN)  // false 
    var str="123abc"; 
    alert(typeof(str++)) // number 
    alert(str) // NaN

    3.写出程序运行的结果? 


    for(i=0, j=0; i<10, j<6; i++, j++){ 
    k = i + j; 

    }

    结果:10(小心陷阱)

    4. 用正则怎样去掉重复的字符串,只保留一个

    var str= "aaaebbbcccddd";
    str = str.replace(/(.)1+/g,'$1');

    alert(str);

    5. 以下哪个在JAVASCRIPT中会报错: 
    var a=(); 
    var a=[]; 
    var a={}; 
    var a=//; 

    var a=();var a=//; 报错     两个不行!

    6. 下面代码执行结果是什么?

    <script> 
      alert(typeof addB); 
      function addB() { 
      alert("function addB"); 
      } 
      var addB = "variable"; 
      alert(addB); 
    </script> 

    执行结果是"function"和"variable"。 
    JS解析器先预定义了 addB 变量为 undefined, 但是 addB 函数覆盖了此变量,因此一开始执行结果是 function,然后 addB 被赋值为 "variable",因此最后执行结果是 "variable",上面的代码即使变为

    Js代码 

    <script> 
      alert(typeof addB); 
      function addB() { 
      alert("function addB"); 
      } 
      var addB = "variable"; 
      alert(addB); 
    </script> 


    结果也一样,这说明JS解析器先预声明变量,再预定义函数 。 
    小结一下:JS 在执行前会进行类似"预编译"的操作,而且先预定义变量再预定义函数。 

  • 相关阅读:
    【Leetcode】92. Reverse Linked List II && 206. Reverse Linked List
    【Leetcode】91. Decode Ways
    记一次面经
    涨知识
    B-Tree 漫谈 (从二叉树到二叉搜索树到平衡树到红黑树到B树到B+树到B*树)
    涨知识
    HDU 1754 I Hate It 【线段树单点修改 维护区间最大值】
    POJ 1632 Vase collection【状态压缩+搜索】
    POJ 1011 Sticks 【DFS 剪枝】
    POJ 1088 滑雪 【记忆化搜索经典】
  • 原文地址:https://www.cnblogs.com/laneyfu/p/4224001.html
Copyright © 2011-2022 走看看