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


*/ 
二、不定项选择题 
1、请选择对javascript理解有误的:(abcd
A.JScript是javascript的简称 
B.javascript是网景公司开发的一种Java脚本语言,其目的是为了简化Java的开发难度 
C.FireFox和IE存在大量兼容性问题的主要原因在于他们对javascript的支持不同上 
D.AJAX技术一定要使用javascript技术 


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


3、在不指定特殊属性的情况下,哪几种HTML标签可以手动输入文本:(ace) 
A.<TEXTAREA></TEXTAREA> 
B.<INPUT type=”text”/> 
C.<INPUT type=”hidden”/> 
D.<DIV></DIV> 


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


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


6、关于表格表述正确的有:(abcde) 
A.表格中可以包含TBODY元素 
B.表格中可以包含CAPTION元素 
C.表格中可以包含多个TBODY元素 
D.表格中可以包含COLGROUP元素 
E.表格中可以包含COL元素 


7、关于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、求y和z的值是多少?

<script type="text/javascript">
var x = 1;
var y = 0;
var z = 0;
function add(n){n=n+1;}
y = add(x);
function add(n){n=n+3;}
z = add(x);
</script>

都为undefined,因为没有返回值。

2、javascript是面向对象的,怎么体现javascript的继承关系?
使用prototype来实现。

3、javascript怎样选中一个checkbox,怎样设置它无效?
document.all.cb1[0].disabled = true;

4、form中的input可以设置为readonly和disable,请问两者有什么区别?
readonly不可编辑,但可以选择和复制;值可以传递到后台
disabled不能编辑,不能复制,不能选择;值不可以传递到后台

5、js中的3种弹出式消息提醒(警告窗口,确认窗口,信息输入窗口)的命令式什么?
alert
confirm
prompt

6、form中的input有哪些类型?

7、javaScript的2种变量范围有什么不同?

全局变量:当前页面内有效

局部变量:方法内有效

8、列举javaScript的3种主要数据类型,2种复合数据类型和2种特殊数据类型。

主要数据类型:string, boolean, number

复合数据类型:function, object

9、程序中捕获异常的方法?

window.error

try{}catch(){}finally{}

10、写出函数DateDemo的返回结果,系统时间假定为今天

function DateDemo(){
  var d, s="今天日期是:";
  d = new Date();
  s += d.getMonth() + "/";
  s += d.getDate() + "/";
  s += d.getYear();
  return s;
}

结果:今天日期是:7/17/2010

11、写出程序运行的结果?

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

结果:10(小心陷阱)

12、运行的结果?

function hi(){
var a;
alert(a);
}

结果:undefined

13、运行的结果?

function hi(){
var a = null;
alert(a);
}

结果:null

14、浏览器的对象模型?

window
顶级对象
window.alert(msg)
window.prompt()
window.confirm()
if(window.confirm()){
...
}

window.open()
window.close()
document
document.write()
history

当用户浏览网页时,浏览器保存了一个最近所访问网页的url列表。这个列表就是用history对象表示。

history.back():后退

history.forward():前进

history.go(n):正数表示向前,负数表示向后

location

表示当前打开的窗口或框架的URL信息。

location.href:重定向

等价于location.assign(url)

location.host:类似www.163.com:80

navigator

表示浏览器的信息及js运行的环境

navigator.cookieEnabled:该属性表示是否启用cookie

screen

用于显示网页的显示器的大小和颜色

screen.width/screen.height:表示显示器的分辨率(总的宽度,高度)

15、XMLHTTPRequest对象是什么?
Ajax原理

16、超链接的属性target的可选值:_blank, _parent, _self, _top和框架名称有什么区别?

17、javascript的常用对象有哪些?

String, Math, Date和Array对象

18、innerHTML,innerText,outerHTML,innerText的区别?

19、谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制 
sort的实现的功能类似JAVA的比较器,数据排序从多维数组的第一维开始排序 
可以自己定义排序方法,很不多的函数 
20、简述DIV元素和SPAN元素的区别。 
DIV有回车,SPAN没有 
21、结合text这段结构,谈谈innerHTML outerHTML innerText之间的区别。 
这个问题只要写一下看的很清楚 
innerHTML对象里面的HTML,outerHTML包括对象和里面的 
innerText对象里面的文本 
22、说几条XHTML规范的内容(至少3条) 
属性加引号,不能有不匹配的标签,加定义 
23、对Web标准化(或网站重构)知道哪些相关的知识,简述几条你知道的Web标准? 
网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的网站标准也分三方面:结构化标准语言,主要包括XHTML和XML;表现标准语言主要包括CSS;行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。 

http://blog.jobbole.com/78738/

原文地址:https://www.cnblogs.com/diantao/p/4653846.html