• web前端整套面试题(一)--js相关


    一、单选

    1、以下哪条语句会产生运行:(A) 

    A.var obj = ( ); 

    B.var obj = [ ]; 

    C.var obj = { }; 

    D.var obj = / /; 

    B代表数组,C代表对象,D是正则表达式

    2、以下哪个单词不属于javascript保留字:(B) 

    A. with 

    B. parent 

    C. class

    D. void 

    · abstract

    · boolean

    · break

    · byte

    · case

    · catch

    · char

    · class

    · const

    · continue

    · default

    · do

    · double

    · else

    · extends

    · false

    · final

    · finally

    · float

    · for

    · function

    · goto

    · if

    · implements

    · import

    · in

    · instanceof

    · int

    · interface

    · long

    · native

    · new

    · null

    · package

    · private

    · protected

    · public

    · return

    · short

    · static

    · super

    · switch

    · synchronized

    · this

    · throw

    · throws

    · transient

    · true

    · try

    · var

    · void

    · while

    · with 

    3、请选择结果为真表达式:(C) 

    A. null instanceof Object 

    B. null ===  undefined 

    C. null == undefined 

    D. NaN == NaN 

    A->false,B->false,C->true,D->false,NaN是一个与任何数字都不相等的数字

    二、不定项选择题

    4、请选择对javascript理解有误:(ABC) 

    A. JScript是javascript简称 

    B. javascript是网景公司开发种Java脚本语言其目是为了简化Java开发难度 

    C. FireFox和IE存在大量兼容性问题主要原因在于他们对javascript支持区别上 

    D. AJAX技术一定要使用javascript技术 

    C->是对于WEB标准的支持不同,D->AJAX全称是Asynchronous JavaScript and XML,会用到js技术(但是这道题有异议)

    5、 foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:(ACE)   
    A. foo.att   
    B. foo(“att”)   
    C. foo[“att”]   
    D. foo{“att”}   
    E. foo[“a”+”t”+”t”] 

    6、在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:(AB)   

    A. <TEXTAREA></TEXTAREA>     
    B. <INPUT   type=”text”/>   
    C. <INPUT   type=”hidden”/>   
    D. <DIV></DIV> 

    注意是手动输入,所以div不可以

    7、以下哪些是javascript的全局函数:(ABCDE)   
    A. escape   
    B. parseFloat   
    C. eval   
    D. setTimeout   
    E. alert   

    A->escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

    B->parseFloat() 解析一个字符串并返回一个浮点数。

    C->eval() 计算 JavaScript 字符串,并把它作为脚本代码来执行。

    js中的全局函数有:

    8、关于IFrame表述正确的有:(ABCD)   
    A. 通过IFrame,网页可以嵌入其他网页内容,并可以动态更改   
    B. 在相同域名下,内嵌的IFrame可以获取外层网页的对象   
    C. 在相同域名下,外层网页脚本可以获取IFrame网页内的对象     
    D. 可以通过脚本调整IFrame的大小   

    9、关于表格表述正确的有:(ABCDE)   
    A. 表格中可以包含tbody元素   
    B. 表格中可以包含caption元素   
    C. 表格中可以包含多个tbody元素   
    D. 表格中可以包含colgroup元素   
    E. 表格中可以包含col元素   

    A->tbody表格主体内容,B->caption表格标题,D->colgroup列分组,E->col细化列分组因为一个组中,可能每一列也会有区别

    colgroup和col的讲解

    如果一个表格前三列要垂直居上,后两列垂直居下,我们就可以用分组来进行设置。看起来是样式表可以代替的功能,但这的确不是多余的标签,和前面的标签一样,在 XHTML 1.0 Strict 中也是允许的标签。
    <table border="1">
    <colgroup span="3" valign="top"></colgroup>
    <colgroup span="2" valign="bottom"></colgroup>
    <tr>
    <td>1垂直居上</td>
    <td>2垂直居上</td>
    <td>3垂直居上</td>
    <td>4垂直居下</td>
    <td>5垂直居下</td>
    </tr>
    </table>
    span 用以表示该组包含多少列。
    col 的作用是细化 colgroup,因为即使在一个组中,列与列之间也可能会出现一些差别,这时就得用到 col 了。
    <colgroup span="3" valign="top">
    <col width="50"></col>
    <col align="center"></col>
    <col valign="middle"></col>
    </colgroup>
    可以看到第三列的 valign 覆盖了 colgroup 的 valign 设置。在这里 width、align、valign 都是符合 XHTML 1.0 Strict 的,不过要注意的是:没有 height 属性。

    10、关于IE的window对象表述正确的有:(ACD)   
    A. window.opener属性本身就是指向window对象   
    B. window.reload()方法可以用来刷新当前页面   
    C. window.location=”a.html”和window.location.href=”a.html”的作用都是把当前页面替换成a.html页面   
    D. 定义了全局变量g;可以用window.g的方式来存取该变量

    A->比如两个页面一个A一个B,A页面在页面中用到window.open('B.html')打开了新的窗口打开了B,而在B的页面想要获得A页面上的元素去改变那个元素,于是在B页面用到window.opener.document.getElementById("name").value = 'newName';去改变值。所以window.opener相当于找到打开它本身的那个页面。

    B->没有window.reload()是location.reload()或者window.location.reload()

    三、简答题

    1、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制 

      sort()无参数时,按照字符编码进行排列,有参数时应传递一个函数,将按照函数中的顺序进行排序

      比如sort(sortNum);

      function sortNum(a,b){

        return a - b;

      }

    2、简述DIV元素和SPAN元素的区别。 

      div是块级元素,宽度高度起作用,独占一行;span是内联元素(行内元素)可以并排排列,宽高不起作用,margin和padding上下无效左右有效

    3、结合<span   id=”outer”><span   id=”inner”>text</span></span>这段结构,谈谈innerHTML   outerHTML   innerText之间的区别。 

      innerHtml,innerText,outerHtml的区别

      innerHtml获取的是<span   id=”inner”>text</span>

      innerText获取的是text

      outerHtml获取的是<span   id=”outer”><span   id=”inner”>text</span></span>

    4、说几条XHTML规范的内容(至少3条) 

      标签闭合,标签名必须小写,正确嵌套,必须有根元素,所有的xhtml元素必须嵌套在根元素中

    5、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?

      web标准化分为结构化标准化,表现标准化,行为标准化。其中结构标准语言有Xhtml和Xml,表现标准语言css,行为标准语言W3C,ECMScript

      web标准化是网站重构的一种方法

    6、如何获取表单<select>域的选择部分的文本

      <select id="se" onchange="getText()">
        <option value="1" >11111</option>}
        <option value="2" >22222</option>}
        <option value="3" >33333</option>}
      </select>

      <script type="text/javascript">
        var getText = function(){
          var sel = document.getElementsByTagName('select');
          alert(sel[0].options[sel[0].selectedIndex].text);
          // var sel = document.getElementById('se');
          // alert(sel.options[sel.selectedIndex].value);
        }

    7、在js中定时调用foo()函数如何写?

      function foo(){

        alert(new Date());

        setTimeout('foo()',2000);

      }

      foo();

    8、var a = 10, b =20,c = 10;alert(a = b);alert(a == b);alert(a == c)结果为?

      alert(a = b) -> 10

      alert(a == b) -> false

      alert(a == c) -> true

      第一个=是赋值语句,赋过值a为10,== 是比较语句

    四、程序题

    1、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。   
      <html>   
      <body>   
      <script>   
    function   foo()   {   
      //   在此处添加代码   
      var   rg   =   document.getElementsByName("radioGroup");   
      for(   var   i   =   0;   i   <   rg.length;   i++   )   
      {   
          if(   rg[i].checked   )   
          {   
              alert("你选择了第"   +   (i+1)   +   "个单选框");   
          }   
      }   
      return   false;   
      }   
     
     </script>   
      <body>   
      <form   name="form1"   onsubmit="return   foo();">   
      <input   type="radio"   name="radioGroup"/>   
      <input   type="radio"   name="radioGroup"/>   
      <input   type="radio"   name="radioGroup"/>   
      <input   type="radio"   name="radioGroup"/>   
      <input   type="radio"   name="radioGroup"/>   
      <input   type="radio"   name="radioGroup"/>   
      <input   type="submit"/>   
      </form>   
      </body>   
      </html>   

    2、填充注释部分的函数体,使得foo()函数调用弹出“成功”的对话框,还有字符串翻转功能
    <html>
    <head>
    <script>
    function foo(){
    var str = reverse('a,b,c,d,e,f,g');
    alert(str);
    if(str == 'g,f,e,d,c,b,a')
    alert('成功');
    else
    alert('失败');
    }
    function reverse(str){
    //在此处加入代码,完成字符串翻转功能

    return   str.split(",").reverse().join(",");   


    </script>
    </head>
    <body>
      <input type="button" value="str" onclick="foo()" />
    </body>
    </html>

  • 相关阅读:
    python进程和线程(五)
    java开发常用Linux命令
    IntelliJ IDEA中Maven插件无法更新索引之解决办法
    Spring事务配置的五种方式
    思考,快与慢(读书笔记)
    freemarker,jsp,velocity比较
    java学习之路经验总结
    iBATIS源码分析
    freemarker的使用心得
    javaScript中的关键字和保留字
  • 原文地址:https://www.cnblogs.com/zhangxue521/p/6914559.html
Copyright © 2020-2023  润新知