一套比较完整的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.
B.
C.
D.

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需刷新才能执行]

你可能感兴趣的:(一套比较完整的javascript面试题(部分答案))