一套比较完整的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会查找整个原型链

  alert(Function);

  alert(Function.prototype);

  alert(Function.__proto__);

  alert(Object);

  alert(Object.prototype);

  alert(Object.__proto__);

  alert((function(){}).prototype);

  alert((function(){}).__proto__);

  alert((function(){}).__proto__.prototype);

  alert((function(){}).prototype.__proto__);

  alert(Array.__proto__);

  alert((123).__proto__);

  alert((Number).__proto__);

  alert(("test").__proto__);

  alert((String).__proto__);

  alert((true).__proto__);

  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、关于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的方式来存取该变量

  三、问答题:

  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)。对应的网站标准也分三方面:结构化标准语言,主要包括XHTML和XML;表现标准语言主要包括CSS;行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。

  四、程序题:

  1、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。

  

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  2、填充注释部分的函数体,使得foo()函数调用弹出”成功”的对话框。代码应尽量简短。

  

   [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]