Javascript笔试题及答案

合集下载

javascript笔试题及答案

javascript笔试题及答案

javascript笔试题及答案### JavaScript 笔试题及答案#### 题目一:数组去重问题描述:给定一个数组,编写一个函数来移除数组中的所有重复元素,只保留唯一的元素。

代码实现:```javascriptfunction uniqueArray(arr) {return [...new Set(arr)];}// 测试console.log(uniqueArray([1, 2, 2, 3, 4, 4, 5])); // 输出: [1, 2, 3, 4, 5]```#### 题目二:深拷贝对象问题描述:编写一个函数来实现对象的深拷贝,确保拷贝后的属性和原对象的属性是独立的。

代码实现:```javascriptfunction deepClone(obj) {if (obj === null || typeof obj !== 'object') {return obj;}let cloneObj = Array.isArray(obj) ? [] : {};for (let key in obj) {if (obj.hasOwnProperty(key)) {cloneObj[key] = deepClone(obj[key]);}}return cloneObj;}// 测试let original = { a: 1, b: { c: 2 } };let copied = deepClone(original);copied.b.c = 3;console.log(original.b.c); // 输出: 2```#### 题目三:实现 Promise.all问题描述:实现一个函数,该函数接受一个 Promise 数组作为参数,并返回一个新的 Promise,当所有输入的 Promise 都成功时,返回的 Promise 将被解决。

代码实现:```javascriptfunction customPromiseAll(promises) {return new Promise((resolve, reject) => {let resolvedCount = 0;let result = [];promises.forEach((promise, index) => {promise.then(value => {result[index] = value;resolvedCount++;if (resolvedCount === promises.length) {resolve(result);}}).catch(reject);});});}// 测试customPromiseAll([Promise.resolve(1), Promise.resolve(2), Promise.resolve(3)]).then(console.log); // 输出: [1, 2, 3]```#### 题目四:计算斐波那契数列问题描述:编写一个函数来计算斐波那契数列的第 n 项。

js笔试题及答案

js笔试题及答案

js笔试题及答案JavaScript(简称JS)是一种广泛用于web开发的编程语言。

在面试过程中,JS笔试题常常被用来评估候选人的编程水平和解决问题的能力。

本文将介绍一些常见的JS笔试题,并提供相应的答案。

1. 请编写一个函数,实现将一个字符串逆序输出的功能。

答案:```javascriptfunction reverseString(str) {return str.split('').reverse().join('');}console.log(reverseString('Hello World!')); //输出:!dlroW olleH```2. 请编写一个函数,求出一个数组中所有元素的平均值。

答案:```javascriptfunction average(arr) {let sum = arr.reduce((total, currentValue) => total + currentValue);return sum / arr.length;}console.log(average([1, 2, 3, 4, 5])); //输出:3```3. 请编写一个函数,实现对一个数组中的元素进行去重。

答案:```javascriptfunction removeDuplicates(arr) {return Array.from(new Set(arr));}console.log(removeDuplicates([1, 2, 3, 3, 4, 4, 5])); //输出:[1, 2, 3, 4, 5] ```4. 请描述一下什么是闭包,并举一个实际应用的例子。

答案:闭包是指函数能够访问并操作其所在的词法作用域中的变量,即使在其词法作用域执行结束之后依然能够访问。

一个典型的闭包的例子是在setTimeout函数中使用匿名函数,例如:```javascriptfor (var i = 0; i < 5; i++) {setTimeout(function() {console.log(i);}, 1000);}```以上代码执行后,会在1秒后连续输出5个数字5。

js笔试题及答案

js笔试题及答案

js笔试题及答案JavaScript(简称JS)是一种广泛应用于Web开发的编程语言。

本文将介绍一些常见的JS笔试题及其答案,帮助读者加深对JS语言的理解和掌握。

一、JS基础知识题1. 请解释JS中的数据类型有哪些?答:JS中有六种基本数据类型,分别是:字符串(String)、数字(Number)、布尔值(Boolean)、空(Null)、未定义(Undefined)和符号(Symbol)。

另外还有一种复杂数据类型,即对象(Object)。

2. 什么是JS的变量提升?答:JS的变量提升指的是在代码执行之前,JS引擎会将变量的声明提升到作用域的顶部。

这意味着我们可以在变量声明之前使用这个变量,但它的值会是undefined。

3. 如何判断一个变量的数据类型?答:可以使用typeof操作符来判断变量的数据类型。

例如,typeof "hello"会返回字符串类型;typeof 2022会返回数字类型。

二、JS语法题1. 请用JS代码实现数组去重。

答:```javascriptfunction removeDuplicates(arr) {return Array.from(new Set(arr));}```2. 如何定义一个箭头函数,并简要解释其用途?答:箭头函数是ES6中引入的一种新的函数定义方式。

它使用箭头(=>)来代替传统的function关键字。

箭头函数具有更简洁的语法和更明确的this指向,适用于需要定义匿名函数或回调函数的场景。

```javascriptconst add = (a, b) => a + b;```三、JS算法题1. 请写一个递归函数,计算斐波那契数列的第n项。

答:```javascriptfunction fibonacci(n) {if (n <= 1) {return n;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}```2. 请写一个函数,判断一个字符串是否为回文字符串。

js基础笔试题及答案

js基础笔试题及答案

js基础笔试题及答案1. 以下哪个选项是JavaScript中的全局对象?A. windowB. documentC. navigatorD. history答案:A2. JavaScript中,以下哪个关键字用于声明一个函数?A. varB. functionC. letD. const答案:B3. 在JavaScript中,如何声明一个变量并初始化其值为10?A. var number = 10;B. let number = 10;C. const number = 10;D. Both A and B答案:D4. 以下哪个方法用于在数组中添加一个或多个元素?A. pop()B. push()C. shift()D. unshift()答案:B5. JavaScript中,以下哪个方法用于从数组中删除最后一个元素?A. pop()B. push()C. shift()D. unshift()答案:A6. 在JavaScript中,以下哪个对象用于处理日期和时间?A. DateB. TimeC. DateTimeD. Moment答案:A7. 如何在JavaScript中创建一个空对象?A. var obj = {};B. var obj = new Object();C. Both A and BD. None of the above答案:C8. 在JavaScript中,以下哪个方法用于将字符串转换为小写?A. toUpperCase()B. toLowerCase()C. toLocaleUpperCase()D. toLocaleLowerCase()答案:B9. 如何在JavaScript中使用三元运算符?A. condition ? value1 : value2B. if (condition) { value1 } else { value2 }C. switch (condition) { case value1: value2 }D. Both A and B答案:A10. 在JavaScript中,以下哪个关键字用于声明一个类?A. classB. functionC. constructorD. prototype答案:A。

js笔试题及答案

js笔试题及答案

js笔试题及答案一、选择题1. 在JavaScript中,用于声明一个名为`myVar`的变量,并且初始化为`10`的正确语法是:A. `var myVar = 10;`B. `var myVar: 10;`C. `myVar = 10;`D. `myVar : 10;`答案:A2. 下列哪个选项是JavaScript的全局对象?A. `window`B. `document`C. `navigator`D. 以上全部答案:D3. 以下代码的输出结果是什么?```javascriptconsole.log(0.1 + 0.2);```A. `0.3`B. `0.30000000000000004`C. `30`D. `30.00`答案:B4. 在JavaScript中,如何获取当前页面的URL地址?A. `window.location.href`B. `document.URL`C. `window.URL`D. `document.location`答案:A5. 下列哪个关键字用于定义JavaScript中的类?A. `class`B. `type`C. `interface`D. `object`答案:A二、填空题1. 在JavaScript中,使用________关键字可以创建一个新对象,该对象是某个构造函数的实例。

答案:new2. 事件冒泡是指事件首先被________捕获,然后逐级向上传递到DOM树的根节点。

答案:目标元素3. 在JavaScript中,使用________方法可以遍历数组中的所有元素。

答案:forEach4. 要在一个JavaScript函数中终止当前循环,并立即开始下一次循环迭代,应使用________关键字。

答案:continue5. 要在一个JavaScript函数中终止当前循环,并且不再继续执行后续的循环迭代,应使用________关键字。

答案:break三、简答题1. 请解释JavaScript中的闭包是什么,并给出一个简单的示例。

Javascript笔试题及答案

Javascript笔试题及答案

Javascript面试笔试题考试时刻90分钟一、不定项选择题(每题3分,共30分)声明一个对象,给它加上name属性和show方式显示其name值,以下代码中正确的选项是( D )var obj = [name:"zhangsan",show:function(){alert(name);}];var obj = {name:"zhangsan",show:”alert”};var obj = {name:"zhangsan",show:function(){alert(name);}};var obj = {name:"zhangsan",show:function(){alert;}};以下关于Array数组对象的说法不正确的选项是(CD )对数组里数据的排序能够用sort函数,若是排序成效非预期,能够给sort函数加一个排序函数的参数reverse用于对数组数据的倒序排列向数组的最后位置加一个新元素,能够用pop方式unshift方式用于向数组删除第一个元素要将页面的状态栏中显示“已经选中该文本框”,以下JavaScript语句正确的选项是( A )="已经选中该文本框"="已经选中该文本框"="已经选中该文本框"="已经选中该文本框"点击页面的按钮,使之打开一个新窗口,加载一个网页,以下JavaScript代码中可行的是(AD )<input type="button" value="new"onclick="open('', '_blank') "/><input type="button" value="new"onclick="='';"/><input type="button" value="new"onclick=" ('');"/><form target="_blank" action=""><input type="submit" value="new"/></form>利用JavaScript向网页中输出<h1>hello</h1>,以下代码中可行的是(BD )<script type="text/javascript">(<h1>hello</h1>);</script><script type="text/javascript">("<h1>hello</h1>");</script><script type="text/javascript"><h1>hello</h1></script><h1><script type="text/javascript">("hello");</script></h1>分析下面的代码:<html><head><script type="text/javascript">function writeIt (value) { </script></head><body bgcolor="#ffffff"><form name="myfm"><input type="text" name="first_text"><input type="text" name="second_text" onchange="writeIt(value)"> </form></body></html>以下说法中正确的选项是(CD )在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,第一个文本框的内容不变在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,将在第二个文本框中复制第一个文本框的内容在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,将在第一个文本框中复制第二个文本框的内容在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,第二个文本框的内容不变下面的JavaScript语句中,( D )实现检索当前页面中的表单元素中的所有文本框,并将它们全数清空for(var i=0;i< {if[i].type=="text")[i].value="";}for(var i=0;i< {if(forms[0].elements[i].type=="text")forms[0].elements[i].value="";}if"text")[i].value="";for(var i=0;i< i++){for(var j=0;j<[i].; j++){if[i].elements[j].type=="text")[i].elements[j].value="";}}在表单(form1)中有一个文本框元素(fname),用于输入号码,格式如:0,要求前3位是010,紧接一个“-”,后面是8位数字。

JAVASCRIPT笔试题参考整理(答案)

JAVASCRIPT笔试题参考整理(答案)
sum +=a[i]; document.write(sum);
A. 20 B. 18 C. 14 D. 12 正确答案为:B 第 3 题. 下面对于 JavaScript 中的单选按扭(Radio)的说法正确的是()。 (选择两项) A. 单选按钮可以通过单击“选种”和“未选中”选项来进行切换 B. 单选按钮没有 checked 属性 C. 单选按钮支持 onClick 事件 D. 单选按钮的 Length 属性返回一个选项组中单选项的个数 正确答案为:AC 第 4 题. 下面哪个选项中的对象与浏览列表有关() A. location,history B. window,location C. navigator,window D. historylist,location 正确答案为:A 第 5 题. 下列()标记符属性为布尔属性(即只需要指定属性的存在,而不用指定其值的 标记符属性)。(选择一项)
A. <input type="text" onChange="alert(this.value)"> B. <input type="text" onClick="alert(this.value)"> C. <input type="text" onChange="alert(text.value)"> D. <input type="text" onClick="alert(value)"> 正确答案为:A 第 23 题. window 对象的 open 方法返回的是() A. 没有返回值 B. boolean 类型,表示当前窗口是否打开成功 C. 返回打开新窗口的对象 D. 返回 int 类型的值,开启窗口的个数 正确答案为:C 第 24 题. 分析下面的 JavaScript 代码段: function employee(name,code) { ="wangli"; this.code="A001"; } newemp=new employee("zhangming",'A002'); document.write("雇员姓名:"+ + "<br>"); document.write("雇员代号:"+ newemp.code +"<br>");

js基础试题及答案(一)

js基础试题及答案(一)

js基础试题及答案(⼀)⼀、单选题(共30题,每题2分)1.如下代码,会弹出来是什么 var num1=“1” ;var num2=1 alert(num1-num2);A 0B 11C 1+1D 报错正确答案: A解析:相减,进⾏隐⼠转换,全部为数字2.如下代码,会弹出来是什么 var num1=“hi” var num2=1 alert(num1+num2);A hi1B 1C hiD 报错正确答案: A解析:字符串拼接3.在JS中,“1555”+3的运⾏结果是A 1558B 1552C 15553D 1553正确答案: C解析:155534.parseInt(“20.2aa”) 返回值为A 20B 20.2C 20.2aaDNaN正确答案: A解析:205.分析输出结果是function sum(a){ a = a + 2; }var res = sum(2);console.log(res);A 2B 4C NaND undefined正确答案: D解析:undefined6.var a = false;var x = a? “A” : “B”;最终x的值为A AB BC trueD false正确答案: B解析:B7.下列变量名合法的是A 5showB returnC $userD var正确答案: C解析:变量名不能以数字开头,A错;BD是关键字,C正确8.需要在 html 页⾯上引⽤脚本⽂件myJs.js,下列语句中,正确的是A <script href="myJs.js" type="text/javascript" />B <script src="myJs.js" type="text/javascript" />C <script href="myJs.js" type="text/javascript"></script>D <script src="myJs.js" type="text/javascript"></script>正确答案: D解析:script 是双标签,src引⼊⽂件9.代码的输出结果是var a = 3;var b = 2;var c = (a+2)/b;document.write ©;A 2.0B 2.5C 16.0D (3+2)/2正确答案: B解析:js弱类型,(2+3)/2=2.510.代码的输出结果是function add(){undefinedvar sum = 1 + 2 ;console.log( sum ) ;}console.log(sum) ;A 输出两个3B 输出⼀个3C 程序报错D 输出⼀个undefined正确答案: C解析:sum是局部变量,全局环境未定义11.typeof null 检测出来的数据类型是A nullB numberC objectD undefined正确答案: C解析:null是空对象12.parseInt(“12a”)的结果是A NaNB 12aC 0D 12正确答案: D解析:因为parseInt()的转换规则:跳过开头结尾的空字符,从左到右依次执⾏转换,碰到第⼀个不认识的数字则停⽌,所以答案为D13.下列的哪⼀个表达式将返回假A !(3<=1)B (4>=4)&&(5<=2)C 2<3D (2<3)||(3<2)正确答案: B解析:&& 左右有⼀侧为假 ;整个表达式就为假14.关于循环下列说法正确的是A while循环⾄少会运⾏⼀次B do…while循环⾄少会运⾏⼀次C for循环⾄少会运⾏⼀次D switch循环⾄少会运⾏⼀次正确答案: B解析:do…while 是先执⾏后判断,不管条件成不成⽴,都会⾄少执⾏⼀次15.for(var i = 0; i < 10; i++){ i++; }console.log(i)的值是?A 10B 9C undefinedD 7正确答案: A解析:i++ 最终为10; 不⼩于10;结束for循环;此时i为1016.下⾯代码的执⾏结果为var a = 20;function foo(){undefinedconsole.log(a) ;var a = 10 ;console.log(a) ;}foo();A 20 10B 10 10C 20 20D undefined 10正确答案: D解析:函数中的a会变量提升;所以第⼀个a是undefined;a 赋值了10;所以a 是10;D选项是正确的17.有下述JS代码:var x = 10; var y = 20;var z = x<y ? x++ : ++y ;console.log( ‘x=’ + x + ‘; y=’ + y + ‘; z=’ + z);其运⾏结果是A x=11; y=21; z=11B x=11; y=20; z=10C x=11; y=21; z=10D x=11; y=20; z=11正确答案: B解析:x=11; y=20; z=1018.查看如下代码:function f1( ){undefinedconsole.log(x);var x = 10;123++x;console.log(x);}f1();执⾏后的结果是A 程序错误B undefined 和 10C undefined 和 11D 10 和 11正确答案: C解析:undefined 和 1119.引⽤名为"xxx.js"的外部脚本的正确语法是ABCD正确答案: C解析:JS脚本引⼊⽤src属性20.如下代码,会弹出来是什么 var a; alert(a);A 报错B a is not defineC undefinedD 0正确答案: C解析:变量提升21.如下代码,会弹出来是什么 alert(a);var a=12;A 报错B a is not defineC undefinedD 12正确答案: C解析:变量提升22.的组成不包括A ECMAScriptB DOMC BOMD document正确答案: D解析:23.console.log( typeof 123 === “number”)A 报错B trueC falseD 123正确答案: B解析:得到字符串的"number", 所以类型和值都相等为全等24.代码的输出结果是function fnMax(a,b,c){undefinedvar a,b,c;var max = a > b ? a : b;if(c > max){ max = c; }alert(max);1234567}fnMax(8,2,5);A 5B 2C 8D 10正确答案: C解析:8,2,5中的最⼤值为825.以下哪项不属于javascript的特征A Javascript是⼀种脚本语⾔B Javascript是事件驱动的C Javascript代码需要⼿动编译以后才能执⾏D Javascript是独⽴于平台的正确答案: C解析:JavaScript是基于事件驱动并独⽴于平台的脚本语⾔26.如下代码,会弹出来是什么 var num1=“1” ;var num2=1 alert(num1-num2);A 0B 11C 1+1D 报错正确答案: A解析:相减,进⾏隐⼠转换,全部为数字27.console.log(typeof typeof 123456),在控制台中打印什么内容A 123456B numberC stringD object正确答案: C解析:第⼀个 typeof 123456 返回 “number”然后typeof “number” 返回"string"28.console.log( (2==true)+1 )会弹出A trueB falseC 1D 2正确答案: C解析:29.如下代码,会弹出来是什么 var num1=“1”; var num2=1 alert(num1+num2)A 2B 11C 1+1D 报错正确答案: B解析:隐⼠转换30.下列表达式结果为false的是A !""B !{}C !undefinedD !!5正确答案: B解析:使⽤if去判断⼀个空对象结果仍然是true⼆、多选题(不定项选择)(共20题,每题2分)1.下⾯哪些是循环语句A whileB do…whileC forD switch正确答案: A,B,C解析:while、do…while、for2.下⾯哪些属于选择结构控制语句:A ifB forC switchD while正确答案: A,C解析:固定关键字3.下⾯选项中数据类型为数字类型的有A “1”B 1C trueD NaN正确答案: B,D解析:1、NaN4.下⾯语句得到值为true的有A “1” == 1B 1===“1”C “2” > “19”D “2”==19正确答案: A,C解析:⽐较相等两个等号会有隐式类型转换,只需值相等即可,三个等号必须类型和值同时相等结果才为true,故A对B错字符串之间的⼤⼩⽐较是按照ACSII编码⼤⼩,“2”的ASCII码⽐“1”的ASCII⼤,所以C正确数字跟字符串⽐较⼤⼩会将字符串隐式转换为数字,即 2>19,D选项错误5.下⾯语句得到值为数字2的有A 1 + ‘1’B 8 % ‘3’C ‘1’ + ‘1’D ‘4’ - 2正确答案: B,D解析:A是字符串拼接,结果为:“11”; B“3”会隐式转换位3,结果为8%3=2;C为字符串拼接,结果为 “11”; D“4”会隐式转换为4,结果为4-2=2故,答案为BD6.下⾯哪些是关键字A varB functionC caseD 以上都是关键字正确答案: A,B,C,D解析:var申明变量的关键字;function申明函数的关键字;case选择分⽀的关键字故答案为ABCD7.以下是JavaScript基本数据类型的是A ObjectB numberC stringD boolean正确答案: B,C,D解析:Object是引⽤类型8.以下运算符正确的是A ++B –C &&D >=正确答案: A,B,C,D解析:⾃增、⾃减、逻辑与、⼤于或等于9.JavaScript运算符都有哪些A 赋值运算符B 算术运算符C 关系运算符D 逻辑运算符正确答案: A,B,C,D解析:赋值运算符=、数学运算符+ - * / %、⼀元运算符++ --、逻辑运算符&& || !10.JavaScript的基本组成包括A DOMB BOMC jQueryD ECMAScript正确答案: A,B,D解析:JavaScript的基本组成包括DOM、BOM和ECMAScript11.以下哪些属于循环语句A switchB forC whileD do…while正确答案: B,C,D解析:循环语句 有三个 for while do…while; switch是选择结构12.函数的参数分为A 形参B 实参C 有参D ⽆参正确答案: A,B解析:参数 分为实参和形参13.以下哪些属于基本数据类型A objectB booleanC stringD number正确答案: B,C,D解析:null 和 undefined是特殊数据类型;14.函数中实参可以是A 常量B 变量C 只能是变量D 只能是常量正确答案: A,B解析:实参可以是变量 常量 ,形参只能是变量15.逻辑运算符有A >B <C ||D &&正确答案: C,D解析:逻辑运算符有三个 && || !;AB选项是⽐较16.javascript由哪⼏部分组成A jsB ECMAScriptC DOMD BOM正确答案: B,C,D解析:BCD17.下⾯声明变量及赋值的写法正确的有A var _myName = 12aB var _myName = “12a”C var myName = 12D var $myName = true正确答案: B,C,D解析:A选项 12a是字符串,不是纯数字,字符串要⽤引号18.下⾯哪些⽅法可以实现将字符串"123",变成数值型A Number()B parseInt()C parseFloat()D Boolean()正确答案: A,B,C解析:Boolean()转成布尔值19.下⾯哪些属于关系运算符?A >B >=C <D <=正确答案: A,B,C,D解析:关系20.下⾯哪些属于逻辑运算符?A &&B ||C !D 以上都不正确正确答案: A,B,C解析:逻辑运算符(⼆)⼀、单选题1.已知数组 var arr = [1,2,3,4,5],执⾏ arr.pop() 后,数组的长度是A 4B 5C 6D 7正确答案: A解析:arr.pop()是删除数组后⼀个数据2.var array = new Array(5); array.push(8); 数组array的长度是A 5B 6C 7D 8正确答案: B解析:new Array(5);创建⼀个长度为5的空数组,push⽅法在数组后增加⼀位,结果为63.3秒后,图⽚消失,应该使⽤下⾯哪个⽅法A hide()B setTimeout()C ClearIntervalD clearTimeout()正确答案: B解析:setTimeout延时器4.下⾯哪⼀个⽅法可以查找 class 名为 “xm”的元素A document.getElementsByClassName(“xm”)B document.getElementsByName(“xm”)C document.Class(“xm”)D document.ByName(“xm”)正确答案: A解析:document.getElementsByClassName(“xm”);获取class为xm的元素5.如果弹出⼀个可输⼊信息的框,可以使⽤哪⼀个⽅法A confirm()B prompt()C alert()D以上都对正确答案: B解析:prompt6.如何快速的将数组arr清空A arr.length = 0B arr = “”C arr.length = “”D arr.length = []正确答案: A解析:强⾏将数组的length设置为0,可以清空数组7.Math.floor(-3.14) 的结果是( )A -3.14B -3C -4D 3.14正确答案: C解析:8.下⾯哪个是window窗⼝⼤⼩改变触发的事件A onmouseoverB onresizeC onmouseoutD onclick正确答案: B解析:19.判断下⾯的代码输出为 var a = 1; var b = a * 0; var a; if (b == b) { console.log(b * 2 + “2”- 0 + 4); } else { console.log(!b * 2 + “2”- 0 + 4); }A 6B NaNC 22D 26正确答案: A解析:10.请阅读下⾯代码 var num = Math.floor(Math.random()*100); 上述代码中num的取值范围是A 0–100B 1–99C 0–99D 1–100正确答案: C解析:公式:Math.random()*(max-min+1)+min11.关于nodeName描述错误的是A 元素节点的节点名始终是标签名B ⽂本节点的节点名始终是#documentC ⽂本节点的节点名始终是#textD 属性节点的节点名始终是属性名正确答案: B解析:⽂本节点名称是#text请阅读列代码⽂本list1list2list3以上代码的输出结果是Alist1B " "Clist2Dlist3正确答案: A解析:list.childNodes[0]为⽂本节点13.下列哪个对象不属于bom对象A documentB locationC historyD offsetWidth正确答案: D解析:14.关于JavaScript中的Math对象的说法,正确的是A Math.ceil(512.51)返回的结果为512B Math.floor( )⽅法⽤于对数字进⾏下舍⼊C Math.round(-512.51)返回的结果为-512D Math.random( )返回的结果范围为0-1,包括0和1正确答案: B解析:15.var arr = [3,4,6],删除数组中的最后⼀项A arr.pop()B arr.pop(6)C arr.shift()D arr.shift(6)正确答案: A解析:16.var arr = [5,3,2,4]; var res = arr.splice(0); console.log(res) 结果是A [5,3,2,4]B [5]C [5,3]D [2,4]正确答案: A解析:17.实现数组的倒序⽅法A reverse()B sort()C join()D find()正确答案: A解析:18.var str = “qianfengana”; var res = stIndexOf(“a”); console.log(res); 输出的结果是A 9B 2C 7D 10正确答案: D解析:19.添加节点的⽅法A ⽗节点.appendChild()B ⽗节点.append()C ⽗节点.prepend()D ⽗节点.prependChild()正确答案: A解析:20.var arr = [how,are,you]; arr.reverse(); alert(arr)A how,are,youB you,are,howC h,o,w,a,r,e,y,o,uD u,o,y,e,r,a,w,o,h正确答案: B解析:reverse翻转,直接修改原数组21.下列关于innerHTML和innerText描述正确的是A innerHTML会被解析成html标签渲染,innerText是纯⽂本显⽰B innerHTML会发⽣转义如 < 会被转换成 < ,innerText原样渲染C innerHTML和innerText都会被解析成html标签渲染D innerHTML和innerText都是纯⽂本显⽰正确答案: A解析:innerhtml不会发⽣转义22.关于setInterval(check ,10)中说法正确的是A 程序循环执⾏10次B check函数每10秒执⾏⼀次C 10做为参数传给函数checkD check函数每10毫秒执⾏⼀次正确答案: D解析:基本定时器概念23.获取从1970年/01/01 午夜到当前时间的毫秒值A getTime()B getDay()C setDate()D getDate()正确答案: A解析:A24.var arr = [100,4,2,3,200]; alert(arr.sort(function(a,b){return b - a;}))A 2,3,4,100,200B 200,100,4,3,2C 100,2,200,3,4D 4,3,200,2,100正确答案: B解析:解析:sort添加了⽐较器函数,并且b-a是降序排序25.在JavaScript中,下列关于window对象⽅法的说法错误的是A window对象包括location对象、history对象和document对象B window.onload 事件绑定的函数会在⼀个该页⾯加载完成后执⾏C window.open( )⽅法⽤于关闭指定的URL路径D window.close( )⽅法⽤于关闭浏览器窗⼝正确答案: C解析:open() ⽅法⽤于打开⼀个新的浏览器窗⼝或查找⼀个已命名的窗⼝。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Javascript面试笔试题考试时间90分钟一、不定项选择题(每题3分,共30分)1.声明一个对象,给它加上name属性和show方法显示其name值,以下代码中正确的是( D )A.var obj = [name:"zhangsan",show:function(){alert(name);}];B.var obj = {name:"zhangsan",show:”alert()”};C.var obj = {name:"zhangsan",show:function(){alert(name);}};D.var obj = {name:"zhangsan",show:function(){alert();}};2.以下关于Array数组对象的说法不正确的是(CD)A.对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数B.reverse用于对数组数据的倒序排列C.向数组的最后位置加一个新元素,可以用pop方法D.unshift方法用于向数组删除第一个元素3.要将页面的状态栏中显示“已经选中该文本框”,下列JavaScript语句正确的是( A )A.window.status="已经选中该文本框"B.document.status="已经选中该文本框"C.window.screen="已经选中该文本框"D.document.screen="已经选中该文本框"4.点击页面的按钮,使之打开一个新窗口,加载一个网页,以下JavaScript代码中可行的是(AD)A.<input type="button" value="new"onclick="open('new.html','_blank') "/>B.<input type="button" value="new"onclick="window.location='new.html';"/>C.<input type="button" value="new"onclick=" location.assign('new.html');"/>D.<form target="_blank" action="new.html"><input type="submit" value="new"/></form>5.使用JavaScript向网页中输出<h1>hello</h1>,以下代码中可行的是(BD)A.<script type="text/javascript">document.write(<h1>hello</h1>);</script>B.<script type="text/javascript">document.write("<h1>hello</h1>");</script>C.<script type="text/javascript"><h1>hello</h1></script>D.<h1><script type="text/javascript">document.write("hello");</script></h1>6.以下说法中正确的是(CD)A.在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,第一个文本框的内容不变B.在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,将在第二个文本框中复制第一个文本框的内容C.在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,将在第一个文本框中复制第二个文本框的内容D.在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,第二个文本框的内容不变7.下面的JavaScript语句中,(D)实现检索当前页面中的表单元素中的所有文本框,并将它们全部清空A.for(var i=0;i< form1.elements.length;i++) {if(form1.elements[i].type=="text")form1.elements[i].value="";}B.for(var i=0;i<document.forms.length;i++) {if(forms[0].elements[i].type=="text")forms[0].elements[i].value="";}C.if(document."text")form.elements[i].value="";D.for(var j=0;j<document.forms[i].elements.length; j++){if(document.forms[i].elements[j].type=="text")document.forms[i].elements[j].value="";}}8.在表单(form1)中有一个文本框元素(fname),用于输入电话号码,格式如:,要求前3位是010,紧接一个“-”,后面是8位数字。

要求在提交表单时,根据上述条件验证该文本框中输入内容的有效性,下列语句中,( A )能正确实现以上功能A.if(str.substr(0,4)!="010-" || str.substr(4).length!=8 ||isNaN(parseFloat(str.substr(4))))alert("无效的电话号码!");B.if(str.substr(0,4)!="010-" && str.substr(4).length!=8 &&isNaN(parseFloat(str.substr(4))))alert("无效的电话号码!");C.if(str.substr(0,3)!="010-" || str.substr(3).length!=8 ||isNaN(parseFloat(str.substr(3))))alert("无效的电话号码!");D.if(str.substr(0,4)!="010-" && str.substr(4).length!=8 &&!isNaN(parseFloat(str.substr(4))))alert("无效的电话号码!");9.关于正则表达式声明6位数字的邮编,以下代码正确的是( C )A.var reg = /\d6/;B.var reg = \d{6}\;C.var reg = /\d{6}/;D.var reg = new RegExp("\d{6}");10.关于JavaScript里的xml处理,以下说明正确的是(BCD )A.Xml是种可扩展标记语言,格式更规范,是作为未来html的替代B.Xml一般用于传输和存储数据,是对html的补充,两者的目的不同C.在JavaScript里解析和处理xml数据时,因为浏览器的不同,其做法也不同D.在IE浏览器里处理xml,首先需要创建ActiveXObject对象二、问答题1.列举浏览器对象模型BOM里常用的至少4个对象,并列举window对象的常用方法至少5个(10分)对象:Window document location screen history navigator方法:Alert() confirm() prompt() open() close()2.简述列举文档对象模型DOM里document的常用的查找访问节点的方法并做简单说明(10分)Document.getElementById 根据元素id查找元素Document.getElementByName 根据元素name查找元素Document.getElementTagName 根据指定的元素名查找元素三、程序题1、补充按钮事件的函数,确认用户是否退出当前页面,确认之后关闭窗口;(10分)<html><head><script type="text/javascript" >function closeWin(){//在此处添加代码if(confirm("确定要退出吗?")){window.close();}}</script></head><body><input type="button" value="关闭窗口" onclick="closeWin()"/></body></html>2、写出简单描述html标签(不带属性的开始标签和结束标签)的正则表达式,并将以下字符串中的html标签去除掉(15分)var str = "<div>这里是div<p>里面的段落</p></div>";//<script type="text/javascript">var reg = /<\/?\w+\/?>/gi;var str = "<div>这里是div<p>里面的段落</p></div>";alert(str.replace(reg,""));</script>3、完成foo()函数的内容,要求能够弹出对话框提示当前选中的是第几个单选框。

相关文档
最新文档