1、IT公司面试笔试题库腾讯Javascript面试题 资料仅供参考 1. 以下关于JavaScript的说法,哪一个是正确的: (A) JavaScript语言是基于Java语言的一种实现 (B) JavaScript是一种解释性语言,不用编译就能够运行 (C) 在JavaScript中声明变量时必须明确声明变量的数据类型 (D) JavaScript脚本只能在浏览器中运行 2. 在以下代码段中,哪些变量是全局变量? (A) 只有a (B) a和c (C) b和c (D) a、b、c都是 3. 以下关于事件属性的说法,错误的是
2、 (A) onmouseup事件属性表示当鼠标按键被松开时执行脚本 (B) onabort是img元素的事件属性,表示当图像加载中断时执行脚本 (C) onload事件仅在body和frameset元素中有效 (D) 任何元素都有onclick事件属性 4. 以下创立函数的代码,错误的是: (A) function foo() { alert("hi"); } (B) var foo = function() { alert("hi"); } (C) var foo = new Function("", "alert('hi');" ); (D) var foo()
3、 { alert("hi"); } 5. 以下描述中错误的一个是: (A) 执行语句var a; alert(a),打印的内容为undefined (B) 执行语句var a = window.age; alert(a),打印的内容为undefined (C) 执行语句var a,b; a = typeof(b); alert(a),打印的内容为undefined (D) 执行语句var a,b=null; a = typeof(b); alert(a),打印的内容为undefined 6. 执行下面的代码打印出来的结果,正确的是: (A) 4 (B) 5
4、
(C) 6
(D) 7
7. 以下创立自定义对象的写法,错误的是:
(A)
(B)
(C)
(D)
8. 执行下面的代码打印出的结果,正确的是:
(A) 2,30,512,NaN
(B) NaN,30,17,undefined
(C) 1,3,17,NaN
(D) NaN,30,512,11
9. 以下描述中错误的一个是:
(A) 如果想在浏览器的“地址”栏中执行 JavaScript 语句,应使用如下格式:
javascript:
5、/*"开始,以"*/"结束 (C) NaN的作用是用来表示一个值不是数字,例如parseInt("a")返回的就是NaN (D) JavaScript中变量名是大小写敏感的,变量名中能够包含字符、数字、_、*、$,而且必须以字母 开头 10. 以下哪个语句打印出来的结果是true: (A) alert("12" === 12); (B) alert(NaN === NaN); (C) alert(typeof(null) === typeof(window)); (D) alert([1,2,3] === [1,2,3]); 11. 执行下面的代码打印出的结果
6、正确的是: (A) object 和 hello (B) 和 (C) 和 hello (D) function 和 hello 12. 执行下面的代码打印出的结果,正确的是: (A) hello 和 出错 (B) function 和 hello (C) 和 hello (D) object 和 hello 13. 以下描述中错误的是: (A) alert(typeof(99)) 显示的内容为:number (B) alert(typeof(null)) 显示的内容为:object (C) alert(typ
7、eof(undefined)) 显示的内容为:undefined (D) alert(typeof(function() {})) 显示的内容为:Function 14. 以下哪个语句打印出来的结果是false? (A) alert(1 == true); (B) alert(isNaN(true)); (C) alert(5 == "5"); (D) alert(null == undefined); 15. 有一个HTML页面,其源码中有如下内容 以下获取form中id为name的输入框的值的JavaScript代码,其中错误的是: (A) docu
8、ment.getElementsByTagName('input')[0].value (B) document.getElementById('name').value (C) document.getElementById('myform').childNodes[1].value (D) document.forms[0].childNodes[0].value 16. 有一个HTML页面,其源码如下,在FireFox点击“提交”按钮,依次打印的内容,正确的是: (A) body,div,form,button,form,div,body (B) div,form
9、button,form,div (C) button,form,div,body (D) button,form,div 17. 执行下面的代码打印出的结果,正确的是: (A) 135 (B) 246 (C) 136 (D) 145 18. 以下描述中错误的一个是: (A) JavaScript能够支持面向对象编程,是一种基于对象和事件驱动的编程语言 (B) 使用标记,能够在 HTML 文档的任意地方插入JavaScript代码 (C) 在JavaScript中分号代表语句的结束符,类似于var x=5; 这样
10、的语句中的分号是不能够省略的 (D) JavaScript在不同的浏览器中存在兼容性问题,其中一部分兼容性问题并不是源自JavaScript 语言本身,而是源自浏览器对DOM规范的支持不一致 【javascript的分号代表语句的结束符,但由于javascript具有分号自动插入规则,因此它是一个十分容易让人模糊的东西,在一般情况下,一个换行就会产生一个分号,但实际情况却不然,也就是说在javascript中换行可能产生分号,也可能不产生,是否自动插入分号,主要看上下行。因此即使是经验丰富的程序员,有时候也会头大。 在 ECMAScript 中对分号自动插入规则也有相应的解释:空语句
11、变量语句,表示式语句,do-while 语句,continue 语句,break 语句,return 语句,以及 throw 语句,这些确定的ECMAScript语句必须以分号结束。这些分号能够总是明确地出现在源代码文本中。为方便起见,在特定的情况下,源代码文本中的这些分号能够被省略。也就是说这些语句的结尾是不需要硬性的输入分号结尾,javascript会自动插入语句结束处。】 19. 有一个HTML页面,其源码如下,在FireFox点击“提交”按钮,依次打印的内容,正确的是: (A) body,button,form,div (B) body,div,form,button (
12、C) button,form,div,body (D) div,button,form,body 20. 执行下面的代码打印出的结果,正确的是: (A) 2,3,4 (B) 1,3,出错 (C) 1,3,4 (D) 2,3,出错 21. 以下关于事件的描述,错误的是: (A) IE浏览器不支持在捕获阶段响应事件 (B) FireFox浏览器既支持在捕获阶段响应事件,又支持在冒泡阶段响应事件 (C) 使用元素的事件属性注册的事件,只能在冒泡阶段被响应 (D) 使用元素的事件属性注册的事件是无法被移除的 22. 有一个HTML页面,源码如
13、下,针对于该页面,请选出在IE浏览器环境下不能打印出“QQ 空间”的JavaScript语句: (A) alert(document.getElementById("qzone").innerHTML); (B) alert(document.links[1].innerHTML); (C) alert(document.body.childNodes[1].childNodes[0].childNodes[0].innerText); (D) alert(document.getElementsByTagName('a').item(1).innerText); 23.
14、 以下描述中错误的是: (A) window对象的getElementById方法返回对拥有指定 ID 的第一个对象的引用 (B) window对象的confirm函数弹出一个确认对话框,该函数返回一个Boolean值 (C) setTimeout函数可被用于实现等待一个特定的时间后再执行特定的代码 (D) setInterval函数可被用于实现每间隔特定的时间就执行一次特定的代码 24. 有一个HTML页面,其源码如下 在IE环境下,以下哪种写法不能把“hello world”改变成红色: (A) document.getElementById('div').st
15、yle.color = 'red'; (B) document.getElementById('div').style['color'] = 'red'; (C) document.getElementById('div').style('color') = 'red'; (D) document.getElementById('div').style.setAttribute('color', 'red'); 25. 执行下面的代码打印出的结果,正确的是: (A) undefined,undefined,3,12 (B) 出错,undefined,3,3 (
16、C) 出错,undefined,3,12 (D) undefined,null,3,3 26. 以下经过直接量方式创立对象的语句,以下描述正确的是: (A) 1、2、3 是正确的 (B) 3、4、5是正确的 (C) 2、3、4、5是正确的 (D) 只有6不正确 27. 有一个HTML文件,其源码如下,该文件被浏览器加载时,依次打印出来的信息正确的是: (A) show_function,script,onload,in_body (B) script,onload,in_body,show_function (C) script,in_body,sho
17、w_function,onload (D) script,in_body,onload,show_function 28. 以下关于注册事件句柄的描述,其中错误的是: (A) 在IE环境下不能使用addEventListener方法来注册事件句柄 (B) attachEvent方法有2个参数,第一个参数是事件名称,第二个参数是响应事件的函数 (C) 在FireFox环境下不能使用attachEvent方法来注册事件句柄 (D) addEventListener方法有3个参数,第一个参数是事件名称,第二个参数是响应事件的函数,第 三个参数是事件响应后是否继续传递事件
18、29. 关于JavaScript的兼容性问题,以下描述中错误的是: (A) Date对象的getYear方法在IE和FireFox下返回的值不同 (B) IE下能够经过document.forms('FORM_NAME')来访问form元素,而FireFox下则不行 (注:FORM_NAME为form元素name属性的值) (C) IE下能够经过parentElement或者parentNode获取父节点,而FireFox只能用 parentElement获取父节点 (D) IE下有个全局事件对象window.event,而在FireFox下则没有这样的全局事件对象 30.
19、 以下描述中错误的一个是: (A) JavaScript中变量名是大小写敏感的,name和Name是两个不同的变量 (B) JavaScript的数组的长度是动态增长的,数组长度和下标的关系是:长度 = 最大下标 + 1 (C) 访问对象的属性时用实心点(.)运算符,访问对象的方法时也是用实心点(.)运算符 (D) 在JavaScript中如果访问数组是越界会导致浏览器报错 31. 编程题: 有一个HTML页面,其源码如下
20、body>
21、