JavaScript基础题、练习题、考试题、面试题(一)

1.以下代码执行后,分别弹出来的值是:
var num1=1; function testf1(){ num1=2; var num1; alert(num1); } function testf2(){ alert(num1); } testf1(); testf2();
A 2,1
B 2,2
C undefined,undefined
D 2,undefined
正确答案: A
解析:
testf1函数先执行, 先进行变量提升, 且里面的num1为私有变量,不会更改全局变量
testf2 里面的num1为全局变量

2.for(var i=0;i<10;i++){ sum += i; } console.log( i )
A 8
B 9
C 10
D 11
正确答案: C
解析:
当i=9是继续执行函数、并加一,i = 9+1

3.console.log( (2==true)+1 )会弹出
A true
B false
C 1
D 2
正确答案: C
2 ==true为假,此时值为0

4.在JS中,“1555”+3的运行结果是
A 1558
B 1552
C 15553
D 1553
正确答案: C
解析:
15553
字符串+数字实则是字符串拼接

5.以下代码运行后弹出的结果是 var a = 888; ++a; alert(a++);
A 888
B 889
C 890
D 891
正确答案: B
解析:
889
a++和++a 都属于自增运算符,区别是对变量a的值进行自增的时机不同。a++是先进行取值,后进行自增。++a是先进行自增,后进行取值。

6.var x = 1; function fn(n){ n = n+1; }; y = fn(x); y 的值为
A 2
B 1
C 3
D undefined
正确答案: D
解析:
undefined

7.while语句的正确使用是
A while i=(1<>10)
B while(i<=10)
C while(i<=10;i++;)
D while i=1 to 10
正确答案: B
解析:
while(i<=10)

8.下面不是分支语句使用的关键字为
A case
B if
C else
D for
正确答案: D
解析:
for

9.分析下段代码输出结果是 var t = 10; function test(test){ t = t + test; var t = 3; console.log(t); } test(t);
A 6
B 3
C 13
D NaN
正确答案: B
解析:
3

10.Number(true) 返回值为
A true
B 1
C 0
D NaN
正确答案: B
解析:
1

11.下列变量名合法的是
A 5show
B return
C $user
D var
正确答案: C
解析:
变量名不能以数字开头,A错;BD是关键字,C正确

12.需要在 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引入文件

13.代码的输出结果是 function add(){ var sum = 1 + 2; console.log( sum ); } console.log(sum) ;
A 输出两个3
B 输出一个3
C 程序报错
D 输出一个undefined
正确答案: C
解析:
sum是局部变量,全局环境未定义

14.代码的输出结果是 var str =""; var i = 1; while(i <= 10){ if(i % 2){ str += i + ’ '; } i ++; } document.write(str + ‘
’);
A 1,3,5,7,9
B 1 3 5 7 9
C 2,4,6,8,10
D 2,4,6,8
正确答案: B
解析:
奇数用空格拼接,最后输出

15.以下哪种方式是在控制台输出
A console.log()
B document.write()
C alert()
D prompt()
正确答案: A
解析:
alert()是弹出提示框,document.write()是在页面上输出,prompt()是弹出输入框,只有console.log()是在控制台打印输出,所以选A

16.以下代码运行的结果是 var num =5; function fn(){ num =1; } fn(); alert( num );
A 1
B undefined
C 报错
D 5
正确答案: A
解析:
函数中的num是全局的;函数执行把全局num改为了1;所以打印是1

17.JavaScript代码必须出现在下面的哪个标签内部才可以被执行?
A body
B head
C div
D script
正确答案: D
解析:
script标签可以出现在页面的标签的任意处

18.以下代码运行的结果是输出 var a = b = 10; (function(){ var a=b=20})(); console.log(b);
A 10
B 20
C 报错
D undefined
正确答案: B
解析:
函数中的b是全局的;给全局b重新赋值20,所以结果是20

19.以下哪个单词不属于javascript关键字
A break
B float
C var
D return
正确答案: B
解析:
float是JavaScript的保留字,不是关键字

20.有下列代码: var x = 10; function f1( num ){ ++ num; } var y = f1( x ); console.log( ‘x=’ + x + ‘; y=’ + y ); 执行后的结果是
A x=10; y=undefined
B x=10; y=11
C x=11; y=11
D x=11; y=undefined
正确答案: A
解析:
x=10; y=undefined

21.有下述JS代码: var i = 0; var sum = 0; do{ i++; if( i%2 === 0){ continue; } if( i%5=== 0){ break; } sum += i; }while( i<10 ); console.log( ‘sum=’ + sum ); 其运行结果应该是下列哪项
A sum=0
B sum=4
C sum=Infinity
D 死循环
正确答案: B
解析:
sum=4

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

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

24.HTML页面中写JavaScript时,会用到HTML的一个标签,它是
A script
B style
C link
D body
正确答案: A
解析:

25.如下代码,会弹出来是什么 var num1=“hi” var num2=1 alert(num1+num2);
A hi1
B 1
C hi
D 报错
正确答案: A
解析:
字符串拼接

28.如下代码,会弹出来是什么 var num1=“1” ;var num2=1 alert(num1-num2);
A 0
B 11
C 1+1
D 报错
正确答案: A
解析:

相减,进行隐士转换,全部为数字

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

得分:2分
30.代码的输出结果是 var sum = 10; for(var i = 2;i < 10;i ++){ sum = sum * 0.05 + sum; } alert(parseInt(sum));
A 11
B 12
C 13
D 14
正确答案: D
解析:

10 * Math.pow(1.05,8) = 14.7745… 取整为14

二、多选题(共20题,每题2分)
得分:2分
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.以下是JavaScript基本数据类型的是
A Object
B number
C string
D boolean
正确答案: B,C,D
解析:
Object是引用类型

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

9.switch语句中的关键字可以包含下面哪些?
A case
B else
C break
D default
正确答案: A,C,D
解析:
else是if判断的关键字

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

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

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

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

14.下列哪些是布尔值
A 0
B 1
C false
D true
正确答案: C,D
解析:
布尔只有两个值 true和false

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

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

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.递归函数的含义
A 一个函数通过名字调用自身情况下构成的
B 就函数内部调用函数本身
C 使用的一种流程控制语句
D 就是选择结构
正确答案: A,B
解析:
递归是自己调用自己,但不是流程控制语句,也无法控制可见性,AB正确,CD错误

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值