zoukankan      html  css  js  c++  java
  • 一套完整的javascript面试题

    一、单选题
    1
    、以下哪条语句会产生运行错误:(a
    A.var obj = ();//
    语法错误
    B.var obj = [];//
    创建数组
    C.var obj = {};//
    创建对象
    D.var obj = //;

    原因:var obj = new Array ();是对的;JavaScript 中大括号表示创建对象。var obj = { id:1, name:"jacky" };alert(obj.name);上例表示创建一个具有属性 id (值为 1)、属性 name(值为 jacky)的对象。属性名称可以用引号引起来成 "id"、"name",也可以不引。

    当然除了属性,也可以创建方法。

     

    试验代码
    /* window.onload=function()
            {
           // var obj = ();
            var obj1 = [];//object
            var obj2 = {};//object
            var obj3 = //;//undefine
            
            alert(typeof(obj1));
            alert(typeof(obj2));
            alert(typeof(obj3));

            }
    */

     

    function showName()
    {
        alert(this.name);
    }
     var obj = { id:1, name:"jacky", showName:showName };
    obj.showName();

     


    2
    、以下哪个单词不属于javascript保留字:(b
    A.with
    B.parent
    C.class
    D.void

    以下的保留字不可以用作变量,函数名,对象名等,其中有的保留字是为以后JAVASCRIPT扩展用的.

    · 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
    if(!(null instanceof Object))是真的
    B.null === undefined
    C.null == undefined
    D.NaN == NaN

    (1) null确实可以理解为原始类型,不能当Object理解!

    null,int,float.....等这些用关键字表示的类型,都不属于Object.

    至于可以把null作为参数,只是特殊规定而已.

    可以这么理解:

    对象的引用代表的是一个内存的值,null是一个空引用,可以理解为内存的值为0;按这个意思对代码

    (2) function f1(){

        

    }  

    1.    alert(f1 instanceof Function);//true   

    2.    alert(f1 instanceof Object);//true   

    3.    alert(Function instanceof Object);//true   

    4.    alert(Object instanceof Function);//true  

    Function 是Object的实例,Object又是Function的实例

    Function是函数的构造函数,而Object也是函数,Function自身也是函数
    Object.prototype是一切原型链的顶点,instanceof会查找整个原型链

    1. alert(Function);   
    2. alert(Function.prototype);   
    3. alert(Function.__proto__);   
    4. alert(Object);   
    5. alert(Object.prototype);   
    6. alert(Object.__proto__);   
    7. alert((function(){}).prototype);   
    8. alert((function(){}).__proto__);   
    9. alert((function(){}).__proto__.prototype);   
    10. alert((function(){}).prototype.__proto__);   
    11. alert(Array.__proto__);   
    12. alert((123).__proto__);   
    13. alert((Number).__proto__);   
    14. alert(("test").__proto__);   
    15. alert((String).__proto__);   
    16. alert((true).__proto__);   
    17. alert((Boolean).__proto__); 

     /* window.onload=function()
          {
             if(NaN == NaN)
             {
             alert("ddd");
             }

          }
          
    */

     


    二、不定项选择题
    4
    、请选择对javascript理解有误的:(abcd)
    A.JScript
    javascript的简称
    B.javascript
    是网景公司开发的一种Java脚本语言,其目的是为了简化Java的开发难度
    C.FireFox
    IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上
    D.AJAX
    技术一定要使用javascript技术
    5
    foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的:()
    A.foo.att
    B.foo(“att”)
    C.foo[“att”]
    D.foo{“att”}
    E.foo[“a”+”t”+”t”]
    6
    、在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:(ace
    A.<TEXTAREA></TEXTAREA>
    B.<INPUT type=”text”/>
    C.<INPUT type=”hidden”/>
    D.<DIV></DIV>


    7
    、以下哪些是javascript的全局函数:(abc
    A.escape
    B.parseFloat
    C.eval
    D.setTimeout
    E.alert
    8
    、关于IFrame表述正确的有:(abcd)
    A.
    通过IFrame,网页可以嵌入其他网页内容,并可以动态更改
    B.
    在相同域名下,内嵌的IFrame可以获取外层网页的对象
    C.
    在相同域名下,外层网页脚本可以获取IFrame网页内的对象
    D.
    可以通过脚本调整IFrame的大小
    9
    、关于表格表述正确的有:(abcde
    A.
    表格中可以包含TBODY元素
    B.
    表格中可以包含CAPTION元素
    C.
    表格中可以包含多个TBODY元素
    D.
    表格中可以包含COLGROUP元素
    E.
    表格中可以包含COL元素
    10
    、关于IEwindow对象表述正确的有:(acd
    A.window.opener
    属性本身就是指向window对象
    B.window.reload()
    方法可以用来刷新当前页面
    C.window.location=”a.html”
    window.location.href=”a.html”的作用都是把当前页面替换成a.html页面
    D.
    定义了全局变量g;可以用window.g的方式来存取该变量
    三、问答题:
    1
    、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制

    sort的实现的功能类似JAVA的比较器,数据排序从多维数组的第一维开始排序
    可以自己定义排序方法,很不多的函数
    2
    、简述DIV元素和SPAN元素的区别。

    DIV有回车,SPAN没有
    3
    、结合text这段结构,谈谈innerHTML outerHTML innerText之间的区别。

    这个问题只要写一下看的很清楚
    innerHTML对象里面的HTML,outerHTML包括对象和里面的
    innerText对象里面的文本
    4
    、说几条XHTML规范的内容(至少3条)

    属性加引号,不能有不匹配的标签,加定义
    5
    、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准?

    网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的网站标准也分三方面:结构化标准语言,主要包括XHTMLXML;表现标准语言主要包括CSS;行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。
    四、程序题:
    1
    、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。
    <html>

    <head>

    <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>

     

    </head>

    <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()函数调用弹出”成功”的对话框。代码应尽量简短。

    http://www.cnblogs.com/chinafine/archive/2009/02/26/1398771.html

    <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)

    {

       // 在此处加入代码,完成字符串翻转功能

        var spl = str.split(',');

        var newstr="";

        for(i=spl.length-1;i>=0;i--)

        {

          newstr+=spl[i]+',';

        }

          newstr=newstr.substring(0,newstr.length-1)

          return newstr;

    }

        </script>

    </head>

     

        <body>

            <input type="button" value="str" onclick="foo()" />

        </body>

    </html>

  • 相关阅读:
    Delphi 农历算法
    Installing Custom Maps for L4D
    双网卡,上网走外网网卡,内网走内网网卡设置
    L4D的指令合集
    两个RGB的颜色半透明混色算法
    中国省级行政区划变动情况
    Win7编程:在按钮中加入管理员权限运行
    教你快速识别手机质量的好坏
    如何利用预编译指令来判断Delphi 的版本?
    在.NET中读写INI文件 ——兼谈正则表达式的应用
  • 原文地址:https://www.cnblogs.com/muer/p/1715486.html
Copyright © 2011-2022 走看看