文档库 最新最全的文档下载
当前位置:文档库 › js基础部分面试题

js基础部分面试题

JS基础面试题

1.介绍下js中关于arguments 。【考点:函数arguments】

在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。例如,在函数 sayHi() 中,第一个参数是 message。用 arguments[0] 也可以访问这个值,即第一个参数的值(第一个参数位于位置 0,第二个参数位于位置 1,依此类推)。

因此,无需明确命名参数,就可以重写函数:

function sayHi() {

if (arguments[0] == "bye") {

return;

}

alert(arguments[0]);

}

2.看以下JavaScript程序问:执行以上程序后,num的值为( D )【考点:数据类型】

var num;

num=5+true;

A、true

B、false

C、5

D、6

3、看以下JavaScript程序【考点:switch语句,break】

var x=prompt(“请输入1-5的数字!”,“”);

switch (x) {

case “1”:alert(“one”);

case “2”:alert(“two”);

case “3”:alert(“three”);

case “4”:alert(“four”);

case “5”:alert(“five”);

default:alert(“none”);

}

运行以上程序,在提示对话框中输入“4”,依次弹出的对话框将输出: ( B )

A、four,none

B、four,five,none

C、five

D、five,none

4、分析下面的JavaScript代码段【考点:for循环】

a=new Array(2,3,4,5,6);

sum=0;

输出结果是().(选择一项)

for(i=1;i

sum +=a[i];

document.write(sum);

A. 20

B. 18

C. 14

D. 12

5、在HTML中,Location对象的()属性用于设置或检索URL的端口号。(B)

【考点:location对象】

A. hostname

B. Port

C. pathname

D. href

6、分析下面的javascript代码:【考点:+ 的用法,加法和连接符】

x=11;

y="number";

m= x+y ;

m的值为(A)

A. 11number

B. number

C. 11

D. 程序报错

7、setInterval("alert('welcome');",1000);【考点:定时器的用法】

这段代码的意思是(D)

A. 等待1000秒后,再弹出一个对话框

B. 等待1秒钟后弹出一个对话框

C. 语句报错,语法有问题

D. 每隔一秒钟弹出一个对话框

8、分析下面的JavaScript代码段:【考点:Math对象的方法使用,round 四舍五入】

var a=15.49;

document.write(Math.round(a));

输出的结果是().(A)

A. 15

B. 16

C. 15.5

D. 15.4

9、分析如下的JavaScript代码片段, b的值为(C ) 【考点:parseInt取整】

Var a = 1.5,b;

b=parseInt(a);

A. 2

B. 0.5

C. 1

D. 1.5

10、在表单(form1)中有一个文本框元素(fname),用于输入电话号码,格式如:

010-********,要求前3位是010,紧接一个“-”,后面是8位数字。要求在提交表单时,根据上述条件验证该文本框中输入内容的有效性,下列语句中,( A )能正确实现以上功能

【考点:substr()截取字符串的使用,isNaN 判断是否为数字】

A.var str= form1.fname.value;

if(str.substr(0,4)!="010-" || str.substr(4).length!=8 ||

isNaN(parseFloat(str.substr(4))))

alert("无效的电话号码!");

B.var str= form1.fname.value;

if(str.substr(0,4)!="010-" && str.substr(4).length!=8 &&

isNaN(parseFloat(str.substr(4))))

alert("无效的电话号码!");

C.var str= form1.fname.value;

if(str.substr(0,3)!="010-" || str.substr(3).length!=8 ||

isNaN(parseFloat(str.substr(3))))

alert("无效的电话号码!");

D.var str= form1.fname.value;

if(str.substr(0,4)!="010-" && str.substr(4).length!=8 &&

!isNaN(parseFloat(str.substr(4))))

alert("无效的电话号码!");

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

【考点:javascript保留字,防止命名出现使用保留字而产生错误】

A.with

B.parent

C.class

D.void

12、请选择结果为真的表达式:( C )【考点:对null ,undefined,NaN的理解】

A.null instanceof Object(if(!(null instanceof Object))是真的)

B.null === undefined

C.null == undefined

D.NaN == NaN

13、以下哪个运算符不属于逻辑运算符?( C )【考点:逻辑运算符和位运算符】1.A、&& B、|| C、^ D、!

14、下面定义变量中错误的是( D )。【考点:变量定义规则】

A、eee

B、_abc

C、box_1

D、2point

15、下面语句var x= -10, y; x=2*x; y=x+15;计算后y的结果是( C )。

【考点:四则运算】

A.-15 B、10 C、-5 D、5

16、下列表达式运算结果为真的是( D )。【考点:逻辑运算】

A、1<2 && “5”! =5

B、2>2*1 || “5”= =5

C、2>2*1 && 5= =5

D、1<2 && “5”= =5

17、以下程序段,执行的结果是( C )。【考点:while循环,避免出现死循环,除非有需要】

var x=-1;

do{

x=x*x;

} while(!x);

A、是死循环

B、循环执行二次

C、循环执行一次

D、有

语法错误

18.执行语句for(i=1;i++<10; );后变量i的值是( C )。

【考点:for循环,什么时候跳出循环】

A、9

B、10

C、11

D、不定

19、键盘事件中不包括的是( B )。【考点:键盘事件】

A、keydown

B、keyover

C、keypress

D、keyup

20、执行以下脚本语句在页面输出( true )。【考点:四则运算和逻辑运算综合应用】

var a=3;

a+=8*2;

alert(a>10&&a<=20);

21、预测以下代码片段的输出结果 var str ;( B )

alert(typeof str); 【考点:变量的定义和typeof 操作符的使用】

A;string B:undefined C:Object D:String

22.以下哪项不属于Javascript的特征?【考点:JavaScript语言特性】C

A.Javascript是一种脚本语言

B.Javascript是事件驱动的

C.Javascript代码需要编译以后才能执行

D.Javascript是独立于平台的

23.阅读下面的JavaScript代码:【考点:函数调用】B

function f(y) {

var x=y*y;

return x;

}

for(x=0;x< 5;x++) {

y=f(x);

document.writeln(y);

A.0 1 2 3 4

B.0 1 4 9 16

C.0 1 4 9 16 25

D.以上答案都不对

24、关于Javascript中数组的说法中,不正确的是:(A)【考点:数组的理解,包括创建,长度,元素的类型等概念】

A.数组的长度必须在创建时给定,之后便不能改变

B.由于数组是对象,因此创建数组需要使用new运算符

C.数组内元素的类型可以不同

D.数组可以在声明的同时进行初始化

25、考察以下程序片段: 【考点:toFixed 保留小数位数的使用】

var n = new Number(3456);

alert(n.toFixed(2));

以下选项正确的是:( C )

A.输出34

B.输出56

C.输出3456.00

D.输出345600

26、察以下程序片段以下选项正确的是( C ):

var str = “32px”;

var str1 = str.slice(-2);

alert(str);

alert(str1);

【考点:注意:如果end 未被规定,那么slice() 方法会选取从start 到数组结尾的所有元素】

A依次输出”px”“px”B依次输出”32”“32”

C依次输出”32px”“px”D依次输出”32px”“32px”

27、考察以下程序片段以下选项正确的是( A )【考点:字符串的方法indexof的使用,之一返回的是下标】:

var str = “12px”;

var s = str.indexof(“2”);

alert(s);

A.输出1

B.输出2

C.输出p

D.输出12

28、在JavaScript中,下列哪段代码能够在1秒之后执行表达式expression( D )

【考点:setTimeout 的使用,注意时间的表达,以毫秒计,1秒应写为1000毫秒】

A.window.setTimeout(1000,expression);

B.window.setTimeout(expression,1);

C.window.setTimeout(1,expression);

D.window.setTimeout(expression,1000);

29、在JavaScript中,如果不指明对象直接调用某个方法,则该方法默认属于哪个对象:(B)

【考点:方法的调用,一般如果没有明确对用者,则是window对象】

A.document

B.Window

C.form

D.Location

30、history从属于window,下列能访问前一页面方法是:( D )

【考点:history对象使用】

A.back(-1)

B.back(1)

C.forward(1)

D.go(-1)

31、有语句“var x=0;while(____) x+=2;”,要使while循环体执行10次,空白处的循环判定式应写为:( C )

A.x<10 B. x<=10 C.x<20 D.x<=20

【考点:while循环】

32、以下( )表达式产生一个0~7之间(含0,7)的随机整数.( C )

A.Math.floor(Math.random()*6)

B.Math.floor(Math.random()*7)

C.Math. floor(Math.random()*8)

D.Math.ceil(Math.random()*8)

【考点:随机数产生,注意左包右不包,随机数日后会经常用到,需熟练掌握】

33、在HTML页面中包含如下所示代码,则编写Javascript函数判断是否按下键盘上的回车键正确的编码是(C)【考点:键盘事件,获取按键编码 event.keyCode】

A.function myKeyDown(){

if (window.keyCode==13)

alert(“你按下了回车键”);

B.function myKeyDown(){

if (document.keyCode==13)

alert(“你按下了回车键”);

C.function myKeyDown(){

if (event.keyCode==13)

alert(“你按下了回车键”);

D.function myKeyDown(){

if (keyCode==13)

34、在HTML页面上,当按下键盘上的任意一个键时都会触发Javascript的( D)事件(

A.onFocus

B.onBlur

C.onSubmit

D.onKeyDown

35、看以下JavaScript程序【考点: ++ 运算符的使用,什么时候先加后赋值,什么时候先赋值后++】

var x,y;

x=10;

y=x++;

var i,j;

i=0;

j=i&&(++i);

var i;

i=8;

do{

i++;

}while(i>100);

for(var i=1;i<=10;i++){

if(i= =5) continue;

if(i= =8) break;

alert(i);

}

运行以上程序后,弹出的对话框依次输出的值为1,2,3,4,6,7 。

39、编写程序实现去除数组重复元素【考点:程序逻辑,简单的算法实现功能,一题多解】function unique1(array){

var n = []; //一个新的临时数组

//遍历当前数组

for(var i = 0; i < array.length; i++){

//如果当前数组的第i已经保存进了临时数组,那么跳过,

//否则把当前项push到临时数组里面

if (n.indexOf(array[i]) == -1) n.push(array[i]);

}

return n;

}

40、var k;

for (var i=0;i<5 ;i++ )

{

for (var j=0;j<10 ;j++ )

{

k=i+j;

}

}

alert(k) //13【考点:for循环,注意何时跳出循环】

41、var a=0;

test();

function test(){

var a = 6

b()

}

function b(){

alert(a)

}

结果为:0 【考点:变量的作用域,此处容易出错】

42 、function foo(){

alert("aaaa");

a = setTimeout(foo(),100);

}

foo();

无限循环

【考点:setTimeout,以及递归调用】

43、window对象的方法中,( A )方法是用于弹出确认对话框,可让选择“确定”或“取消”【考点:confirm】

A、confirm()

B、alert()

C、prompt()

D、open()

44、用JavaScript实现打开一个新窗口,地址为abc.html,正确的方法是(A)【考点:BOM 中open()方法】

A、window.open(“abc.html”,“”,“”);

B、window.open(“”,“abc.html”,“”);

C、window.open(“”,“”,“abc.html”);

D、window.open(“”,“”,“”);

45、在JavaScript程序中加入注释,方法有(AB)【js注释】

A、//注释内容

B、/*注释内容*/

C、/注释内容

D、/*注释内容

46、以下JavaScript变量名不合法的有(ABC)【变量名,标识符规则】

A、4Myvariable

B、My@variable

C、function

D、Myvariable4

47、看下列代码,将会输出什么?(变量声明提升)

var foo = 1;

function(){

console.log(foo);

var foo = 2;

console.log(foo);

}

答案:输出undefined 和2。【变量提升】

48、求y和z的值是多少两个undefined

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

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

function DateDemo(){

var d, s="今天日期是:";

d = new Date();

s += d.getMonth() + "/";

s += d.getDate() + "/";

s += d.getYear();

return s;

}

结果:今天日期是:当前系统日期

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

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

k = i + j;

}

结果:10(小心陷阱)

相关文档