JavaScript基础练习题(一)

JavaScript基础练习题(一)

注:仅供参考,不可用于其他用途

一、单选题

1、HTML页面中写JavaScript时,会用到HTML的一个标签,它是
A 、script      B 、 style      C 、 link       D 、 body

正确答案: A
解析:无

2、如下代码,会弹出来是什么 alert(a);var a=12;
A 、报错     B 、a is not define    C 、undefined     D 、12
正确答案: C
解析:变量提升

3、以下代码执行后,两次弹窗分别弹出来的值是:

var num1 = 1;

			function testf1() {
				num1 = 2;
				alert(num1);
			}

			function testf2() {
				alert(num1);
			}
			testf1();
			testf2();

A 、2,1      B 、2,2       C 、2,undefined      D 、1,1
正确答案: B

4、var num = 123.456789;哪种方法可以保留3位小数
A 、num.toString(3)    B 、num.toFixed(3)    C 、parseFloat(num,3)    D 、Number(num,3)
正确答案: B

解析:只有数值类型的变量,才有toFixed方法

5、下面的等式成立的是

A 、parseInt(12.5) == parseFloat(12.5)

B 、Number(’’) == parseFloat(’’)

C 、isNaN(‘abc’) == NaN

D 、typeof NaN === ‘number’

正确答案: D
解析:typeof NaN === ‘number’

6、执行以下代码,控制台会打印几次

var age = 17; 
do{   
	console.log("十八岁以下禁止观看"); 
}while(age>=18)

A 、 0     B 、 1     C、 2     D 、 无限次
正确答案: B

7、下列选项能正确在页面输出"hello world"的是
A 、document.write(“hello world”);
B 、document.print(“hello world”);
C 、console.log(“hello world”);
D 、alert(“hello world”);
正确答案: A
解析:document.write()方法是将内容输出到页面上

8、代码执行后,变量m的值是

var x = 11; 
var y ="number"; 
var m = x + y;

A 、NaN
B 、11.0
C 、11number
D 、undefined
正确答案: C
解析:当数字跟字符串进行加法运算的时候数字会隐式转换为字符串,最终完成字符串的拼接

9.代码的输出结果是

var num = 2; 

switch(num) {    

    case 1: console.log("1");    

    case 2: console.log("2");    

    default: console.log("default"); 

}

A 先输出2,再输出default
B 输出2
C 程序错误
D 先输出1,再输出2,再输出default
正确答案: A
解析:没有写break,case会穿透

10.y 的输出结果是

var x=-10,y; 

x = 2*x; 

y = x+25;

A -15
B 10
C -5
D 5
正确答案: D
解析:-10*2+25=5

11.在js中,“15” + 3运行的结果是
A 18
B 153
C NaN
D undefined
正确答案: B
解析:字符串拼接

12.var num = 1; console.log(typeof typeof typeof num); 打印的结果是
A “string”
B “number”
C “NaN”
D “1”
正确答案: A
解析:因为第一次typeof结果是“number”; number加了引号,认为是字符串;以后再typeof 就是字符串了

13.以下哪个是点击事件
A click
B onclick
C onfocus
D focus
正确答案: B
解析:失去焦点用事件onblur

14.JavaScript和Java之间的关系是
A JavaScript是Java的子集
B JavaScript和Java是一回事
C Java是JavaScript的子集
D JavaScript和Java没有包含关系
正确答案: D
解析:他们之间没有任意关系,js是前端语言,java是后台语言

15.isNaN(123) 的结果是
A true
B false
C null
D 以上都不对
正确答案: B
解析:isNaN(值);值是一个数,返回false;不是一个数返回true;所以是false

16.下面代码的执行结果为

var a = 20; 

 function foo(){    

    console.log(a);    

    var a = 10;    

    console.log(a); 

 } 

 foo();

A 20 10
B 10 10
C 20 20
D undefined 10
正确答案: D
解析:函数中的a会变量提升;所以第一个a是undefined;a 赋值了10;所以a 是10;D选项是正确的

函数返回值用下面哪个关键字返回?
A return
B break
C continue
D switch
正确答案: A
解析:var arr = [3]; 创建了一个长度为1的数组,值为3

18.查看如下代码:

 function f1( ){    

    console.log(x);    

    var x = 10;    

   ++x;    

   console.log(x); 

 } 

 f1(); 

执行后的结果是
A 程序错误
B undefined 和 10
C undefined 和 11
D 10 和 11
正确答案: C

如下代码,会弹出来是什么 var num1=“hi” var num2=1 alert(num1-num2);
A hi
B 1
C NaN
D 报错
正确答案: C
解析:进行Number()隐式转换, 都转换为数字, num1不是数字字符串,会转换为NaN

20.下面变量命名中不合法的为
A $123
B _abc
C var
D div
正确答案: C
解析:不能以数字开头-不能用关键字和保留字

21.console.log( typeof 123 === “number”)
A 报错
B true
C false
D 123
正确答案: B
解析:得到字符串的"number", 所以类型和值都相等为全等
22.HTML页面中写JavaScript时,会用到HTML的一个标签,它是
A script
B style
C link
D body
正确答案: A

23.如下代码,会弹出来是什么 alert(a);var a=12;
A 报错
B a is not define
C undefined
D 12
正确答案: C
解析:变量提升

24.var k = 1; console.log( k++ + k + ++k + k); 结果是
A 10
B 8
C 9
D 11
正确答案: C
解析:1+2+3+3=9

25.for(var i=0;i<10;i++){ sum += i; } console.log( i )
A 8
B 9
C 10
D 11
正确答案: C

26.console.log( (2==true)+1 )会弹出
A true
B false
C 1
D 2
正确答案: C

27.var num = 123.456789;哪种方法可以保留3位小数
A num.toString(3)
B num.toFixed(3)
C parseFloat(num,3)
D Number(num,3)
正确答案: B
解析:注意,只有数值类型的变量,才有toFixed方法

28.ES3的标准中,Javascript语言中定义变量的关键字是var,有时候不写,也没有错,此时,这个变量是
A 局部变量
B 全局变量
C 有可能是全局也有可能是局部
D 报错
正确答案: B
解析:默认前面添加了一个window, 为全局变量

29.document.write(num+“”); var num = 123; document.write(num);
A 报错
B 123123
C undefinedundefined
D undefined123
正确答案: D
解析:预解析, 第一个声明变量没有赋值,所以是undefined, 第二个赋值成功, 打印123

30.下列表达式结果为false的是
A !""
B !{}
C !undefined
D !!5
正确答案: B
解析:使用if去判断一个空对象结果仍然是true

二,不定项选择

1.下面哪些是循环语句
A while
B do…while
C for
D switch
正确答案: A,B,C
解析:while、do…while、for

2.下面哪些属于选择结构控制语句:
A if
B for
C switch
D while
正确答案: A,C
解析:固定关键字

3.下面选项中数据类型为数字类型的有
A “1”
B 1
C true
D NaN
正确答案: B,D
解析:1、NaN

4.下面语句得到值为true的有
A “1” == 1
B 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 故,答案为BD

6.下面哪些是关键字
A var
B function
C case
D 以上都是关键字
正确答案: A,B,C,D
解析:
var申明变量的关键字;function申明函数的关键字;case选择分支的关键字
故答案为ABCD

7.以下运算符正确的是
A ++
B –
C &&
D >=
正确答案: A,B,C,D
解析:自增、自减、逻辑与、大于或等于

8.程序都有哪些结构
A 顺序结构
B 选择结构
C 循环结构
D 以上都不正确
正确答案: A,B,C
解析:程序结构有顺序结构、选择结构和循环结构

9.以下哪些属于循环语句
A switch
B for
C while
D do…while
正确答案: B,C,D
解析:循环语句 有三个 for while do…while; switch是选择结构

10.以下变量命名规范正确的是
A $num
B 1num
C num
D num1
正确答案: A,C,D
解析:变量名 不能以数字开头

11.下面哪些方法可以实现将字符串“123”变成数值型
A Number()
B parseInt()
C parseFloat()
D Boolean()
正确答案: A,B,C
解析:Boolean()是将某个数据类型转为布尔型;

12.函数的参数分为
A 形参
B 实参
C 有参
D 无参
正确答案: A,B
解析:参数 分为实参和形参

13.以下哪些属于基本数据类型
A object
B boolean
C string
D number
正确答案: B,C,D
解析:null 和 undefined是特殊数据类型;

14.函数中实参可以是
A 常量
B 变量
C 只能是变量
D 只能是常量
正确答案: A,B
解析:实参可以是变量 常量 ,形参只能是变量

15.逻辑运算符有
A >
B <
C ||
D &&
正确答案: C,D
解析:逻辑运算符有三个 && || !;AB选项是比较

16.javascript由哪几部分组成
A js
B ECMAScript
C DOM
D BOM
正确答案: B,C,D

17.下面声明变量及赋值的写法正确的有
A var _myName = 12a
B var _myName = “12a”
C var myName = 12
D var $myName = true
正确答案: B,C,D
解析:A选项 12a是字符串,不是纯数字,字符串要用引号

18.下面哪些方法可以实现将字符串"123",变成数值型
A Number()
B parseInt()
C parseFloat()
D Boolean()
正确答案: A,B,C
解析:Boolean()转成布尔值

19.关于NaN的说法正确的是
A NaN的数据类型为数字类型 也就是 typeof(NaN)的结果为number
B NaN == NaN 返回true
C NaN不等于任何数,包括自己本身,NaN == NaN 返回false
D 如果已知变量num不是数字,那么num == NaN 将得到true
正确答案: A,C
解析:NaN指not a number,但是typeof(NaN)返回值却是“number”,所以他是数字类型,A正确Boolean(NaN)返回值为false,B错误NaN与任何值进行运算,都得到NaN,C正确NaN不能用关系运算符跟任意值比较都返回false,判断一个数是否为NaN需使用全局函数isNaN(),D错误

20.下面哪些属于逻辑运算符?
A &&
B ||
C !
D 以上都不正确
正确答案: A,B,C
解析:逻辑运算符

  • 10
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值