需要在html上引用脚本文件myjs,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

B

C

D

正确答案: 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

解析:

逻辑运算符

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值