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基础阶段考试试题H5-JS基础试题姓名:班级:成绩:一、单选题(每小题1分,20小题,共60分)1、null,undefined,”string",20,true和false 的共同点是()A、都是对象B、都有相同的实例属性C、都是原始值D、都是函数2、下列哪个正确的引入了myScript.js()A、<script href="myScript.js">B、<script name="myScript.js">C、 <script src="myScript.js">D、 <script src=“myScript.js”>3、下列哪个符号不是逻辑运算符()A、%B、||C、 &&D、 !4、以下()为JavaScript声明变量的语句。

A、dim x;B、int x;C、var x;D、x;5、如下代码输出的结果是()console.log(1+ "2"+"2");console.log(1+ +"2"+"2");console.log("A"- "B"+"2");console.log("A"- "B"+2);A、 122122NaNNaNB、12232NaNNaN2C、12232NaN2NaND、12232NaN2NaN26、执行下面语句后c的值是()var a=2,b=1,c=3;if(a<b)if(b<0)c=0;elsec++;A、1B、2C、3D、47、哪个操作符根据值和类型来比较变量()A、 ==B、 ===C、 =D、这些都不是8、var a = false;var x = a ? “A”:“B”;x的值是()A、AB、BC、TRUED、FALSE9、程序段如下:var x = new Boolean(false);if (x) {alert('hi');}var y = Boolean(0);if (y) {alert('hello');}最后的显示结果是()A、 hiB、 hi helloC、helloD、不显示10、哪个关键字用来定义条件语句的可选分支()A、orB、elseC、altenativeD、nextif( 5==num/2 && (2+2*num).toString()==”22”){document.write(true)}A、TRUEB、FALSEC、5D、2216、下面哪个变量类型在javascript 中不存在()A、objectB、booleanC、integerD、number17、以下不属于Javascript原始类型的是()A、stringB、numberC、functionD、boolean18、下面语句var x= -10, y; x=2*x; y=x+15;计算后y的结果是()。

js基础考试题及答案

js基础考试题及答案

js基础考试题及答案一、单项选择题(每题2分,共10题)1. JavaScript中,以下哪个是正确的变量声明方式?A. var myVariable = 10;B. myVariable = 10;C. var = myVariable 10;D. myVariable = var 10;答案:A2. 在JavaScript中,以下哪个是正确的函数声明方式?A. function myFunction() {}B. function() {}C. var myFunction = function() {}D. function myFunction = () {}答案:A3. 下列哪个是JavaScript中的全局对象?A. windowB. documentC. navigatorD. All of the above答案:D4. 在JavaScript中,下列哪个运算符用于比较两个值是否相等?A. ==B. ===C. !=D. !===答案:B5. 在JavaScript中,以下哪个方法用于将字符串转换为小写?A. toUpperCase()B. toLowerCase()C. toNumber()D. toBoolean()答案:B6. 以下哪个选项是JavaScript中的数组方法,用于将一个或多个元素添加到数组的末尾?A. push()B. pop()C. shift()D. unshift()答案:A7. 在JavaScript中,以下哪个关键字用于声明一个类?A. classB. functionC. varD. let答案:A8. 下列哪个选项是JavaScript中的异步编程模式?A. CallbackB. PromiseC. Async/AwaitD. All of the above答案:D9. 在JavaScript中,以下哪个方法用于获取HTML元素的属性值?A. getAttribute()B. setAttribute()C. hasAttribute()D. removeAttribute()答案:A10. 在JavaScript中,以下哪个事件是在元素失去焦点时触发的?A. onfocusB. onblurC. onclickD. onmouseover答案:B二、填空题(每题2分,共5题)1. JavaScript中的____运算符用于创建一个新的对象。

js基础考试题和答案

js基础考试题和答案

js基础考试题和答案**JS基础考试题和答案**一、单项选择题(每题2分,共20分)1. JavaScript是一种()。

A. 服务器端语言B. 客户端语言C. 桌面程序语言D. 操作系统答案:B2. 在JavaScript中,以下哪个是合法的标识符?()A. 2variableB. variable2C. $variableD. variable-2答案:B3. 下列哪个不是JavaScript的数据类型?()A. NumberB. StringC. BooleanD. Tuple答案:D4. 在JavaScript中,以下哪个是正确的注释方式?()A. // 这是一个注释B. /* 这是一个注释 */C. <!-- 这是一个注释 -->D. 以上都是答案:D5. JavaScript中,以下哪个是全局对象?()A. windowB. documentC. navigatorD. 以上都是答案:D6. 在JavaScript中,以下哪个方法用于获取元素的属性值?()A. getAttribute()B. setAttribute()C. removeAttribute()D. hasAttribute()答案:A7. 在JavaScript中,以下哪个方法用于创建一个新的数组?()A. new Array()B. new array()C. []D. 以上都是答案:D8. 在JavaScript中,以下哪个方法用于将字符串转换为小写?()A. toUpperCase()B. toLowerCase()C. toLocaleUpperCase()D. toLocaleLowerCase()答案:B9. 在JavaScript中,以下哪个方法用于将字符串分割成数组?()A. split()C. slice()D. substring()答案:A10. 在JavaScript中,以下哪个方法用于检查对象是否包含特定的属性?()A. hasOwnProperty()B. isPrototypeOf()C. propertyIsEnumerable()D. 以上都是答案:A二、多项选择题(每题3分,共15分)1. 在JavaScript中,以下哪些是基本数据类型?()A. NumberC. BooleanD. Object答案:ABC2. 在JavaScript中,以下哪些是控制结构?()A. if...elseB. forC. whileD. switch答案:ABCD3. 在JavaScript中,以下哪些是全局函数?()A. parseInt()B. parseFloat()C. isNaN()答案:ABCD4. 在JavaScript中,以下哪些是事件类型?()A. clickB. loadC. changeD. submit答案:ABCD5. 在JavaScript中,以下哪些是DOM操作?()A. getElementById()B. getElementsByTagName()C. createElement()D. appendChild()答案:ABCD三、判断题(每题1分,共10分)1. JavaScript是大小写敏感的。

JS基础阶段考试试题

JS基础阶段考试试题

H5-JS基础试题姓名:班级:成绩:一、单选题(每小题1分,20小题,共60分)1、null,undefined,”string",20,true和false的共同点是()A、都是对象B、都有相同的实例属性C、都是原始值D、都是函数2、下列哪个正确的引入了myScript.js()A、<script href="myScript.js">B、<script name="myScript.js">C、 <script src="myScript.js">D、 <script src=“myScript.js”>3、下列哪个符号不是逻辑运算符()A、%B、||C、 &&D、 !4、以下()为JavaScript声明变量的语句。

A、dim x;B、int x;C、var x;D、x;5、如下代码输出的结果是()console.log(1+ "2"+"2");console.log(1+ +"2"+"2");console.log("A"- "B"+"2");console.log("A"- "B"+2);A、 122122NaNNaNB、12232NaNNaN2C、12232NaN2NaND、12232NaN2NaN26、执行下面语句后c的值是()var a=2,b=1,c=3;if(a<b)if(b<0)c=0;elsec++;A、1B、2C、3D、47、哪个操作符根据值和类型来比较变量()A、 ==B、 ===C、 =D、这些都不是8、var a = false;var x = a ? “A”:“B”;x的值是()A、AB、BC、TRUED、FALSE9、程序段如下:var x = new Boolean(false);if (x) {alert('hi');}var y = Boolean(0);if (y) {alert('hello');}最后的显示结果是()A、 hiB、 hi helloC、helloD、不显示10、哪个关键字用来定义条件语句的可选分支()A、orB、elseC、altenativeD、next11、下列选项中哪一个等价于()if (a) {x = b;}else {x = c;}A、x = a ? b , c;B、 x = a : b ? c;C、 x = a ? b : c;D、 x = a ? b ; c;12、执行以下程序段后,x的值是()var x=0;switch(++x) {case 0: ++x;case 1: ++x;case 2: ++x;}A、1B、2C、3D、413、var x = typeof new String("abc");x的值是()A、"string"B、undefinedC、"object"D、"number"14、Number(null);此代码将返回()A、NullB、1C、undefinedD、015、解读下面的js代码,计算的结果是()var num=10;if( 5==num/2 && (2+2*num).toString()==”22”){document.write(true)}A、TRUEB、FALSEC、5D、2216、下面哪个变量类型在javascript 中不存在()A、objectB、booleanC、integerD、number17、以下不属于Javascript原始类型的是()A、stringB、numberC、functionD、boolean18、下面语句var x= -10, y; x=2*x; y=x+15;计算后y的结果是()。

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笔试题及答案一、选择题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笔试题参考整理(答案)

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基础试题及答案(⼀)⼀、单选题(共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() ⽅法⽤于打开⼀个新的浏览器窗⼝或查找⼀个已命名的窗⼝。

js基础试题及答案

js基础试题及答案一、选择题1. 以下哪个选项是 JavaScript 的数据类型?A. stringB. integerC. doubleD. All of the above答案:A2. 在 JavaScript 中,哪个操作符用于判断相等?A. ==B. ===C. !=D. !==答案:B3. 以下哪个选项是 JavaScript 中的事件监听方法?A. addEventListenerB. onEventC. attachEventD. listenEvent答案:A4. 如何在 JavaScript 中声明一个函数?A. function myFunction() {}B. function: myFunction() {}C. myFunction() {}D. All of the above答案:A5. 在 JavaScript 中,哪个对象用于处理日期和时间?A. DateB. TimeC. DateTimeD. none of the above答案:A二、填空题6. 在 JavaScript 中,使用 _______ 关键字可以声明一个变量。

答案:var7. 以下是 JavaScript 中的循环语句:_______,_______, _______。

答案:for, while, do-while8. 在 JavaScript 中,用于连接两个字符串的运算符是_______。

答案:+9. 以下哪个方法是用来获取 HTML 元素的?答案:document.getElementById10. 在 JavaScript 中,用于定义数组的对象是 _______。

答案:Array三、判断题11. 在 JavaScript 中,null 和 undefined 是相同的概念。

答案:错误12. 在 JavaScript 中,函数是一种特殊的对象。

答案:正确13. JavaScript 中,所有变量在声明时都会自动初始化为 undefined。

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

JavaScript基础阶段测笔试试题(含答案)
JavaScript 基础阶段测笔试试题(含答案)
一、选择题(每题2分,多选题错选、少选不得分)
1、分析下段代码输出结果是( )
var arr = [2,3,4,5,6];
var sum =0;
for(var i=1;i < arr.length;i++) {
sum +=arr[i] }
console.log(sum);
A.20
B.18
C.14
D.12
2、以下关于 Array 数组对象的说法不正确的是( )
A.对数组里数据的排序可以用sort 函数,如果排序效果非预期,可以给sort 函数加一个排序函数的参数
B.reverse 用于对数组数据的倒序排列
C.向数组的最后位置加一个新元素,可以用 pop 方法
D.unshift 方法用于向数组删除第一个元素
3、以下代码运行的结果是输出( )
var a = b = 10;
(function(){
var a=b=20
})();
console.log(b);
A.10
B.20
C.报错
D.undefined
4、以下代码运行后的结果是输出( )
var a=[1, 2, 3];
console.log(a.join());
A.123
B.1,2,3
C.1 2 3
D.[1,2,3]
5、在 JS 中,’1555’+3 的运行结果是( )
A.1558
B.1552
C.15553
D.1553
6、以下代码运行后弹出的结果是( )
var a = 888;
++a;
alert(a++);
A.888
B.889
C.890
D.891
7、关于变量的命名规则,下列说法正确的是( )
A.首字符必须是大写或小写的字母,下划线(_)或美元符($)
B.除首字母的字符可以是字母,数字,下划线或美元符
C.变量名称不能是保留字
D.长度是任意的
E.区分大小写
8、下列的哪一个表达式将返回值为假( )
A.!(3<=1)
B.(4>=4)&&(5<=2)
C.(“a”==“a”)&&(“c”!=“d”)
D.(2<3)||(3<2)
9、下面代码,k的运行结果是( )
var i = 0,j = 0;
for(;i<10,j<6;i++,j++){
k = i + j;
}
A.16
B.10
C.6
D.12
10、var x = 1; function fn(n){n = n+1}; y = fn(x); y 的值为( )
A.2
B.1
C.3
D.undefined
11、[1,2,3,4].join('0').split('') 的执行结果是( )
A.'1,2,3,4'
B.[1,2,3,4]
C.[“1”,“0”,“2”,“0”,“3”,“0”,“4”]
D.'1,0,2,0,3,0,4'
12、下面代码的运行结果是:第一次弹( )第二次弹( ) function fn1() {
alert(1);
}
alert( fn1() );
A.1
B.alert(1);
C.function fn1() { alert(1); }
D.undefined
13,以下代码运行后,结果为( )
fn1();
var fn1 = function(a){ alert(a); }
A.1
B.程序报错
C.alert(1);
D.undefined
14,var n = "miao wei ke tang".indexOf("wei",6);n的值为:( )
A.-1
B.5
C.程序报错
D.-10
15,下面对 substring() 方法描述不正确的是( )
A.一共有两个参数,省略第二个参数表示从参数开始位置提、截取到字符串结束。

B.提取之前会比较两个参数的大小,并根据大小调整位置。

C.可以接收负数参数,负数表示从后往前数字符位置。

D.如果没有设置参数,直接返回整个字符串。

16,alert( "12">"9" ) 的运行结果正确的是( )
A.true
B.false
17,下面的描述中不正确的是( )
A.arguments 中保存了实际传入函数内的所有参数。

B.return 只能在函数内部使用。

C.setInterval(fn1,1000) 只会调用一次 fn1。

D.Date 对象的 getMonth() 获取到的值比实际月份小1。

18,下面的等式成立的是( )
A.parseInt(12.5) == parseFloat(12.5)
B.Number('') == parseFloat('')
C.isNaN('abc') == NaN
D.typeof NaN === 'number'
19,下面的描述中不正确的是( )
A.'==' 在比较过程中,不但会比较两边的值,还会比较两边的数据类型。

B.NaN == NaN 的结果是 true。

C.isNaN,判断传入的参数是否为数字,为数字返回true,否则返回false
D.字符串的 length 只可以获取,不可以设置。

20,以下代码中,会出现什么结果:第一次弹( ),第二次弹( ),第三次弹( )
function fn1() {
var a = 0;
function fn2() { ++a; alert(a); }
return fn2;
}
fn1()();
var newFn = fn1();
newFn();
newFn();
A.1
B.2
C.0
D.3
21,下面代码的运行结果是:第一次弹( ),第二次弹( )
var a = 100;
function fn1() {
alert(a);
var a = 10;
}
alert( fn1() );
A.100
B.10
C.function fn1() { alert(1); }
D.undefined
22,以下代码运行后,arr的结果为( ),arr2的结果为( ) var arr = [1,2];
var arr2 = arr.concat();
arr2.push( arr.splice(1,0) );。

相关文档
最新文档