JS基础练习题及答案(一)

一、单选题(共30题,每题2分)

得分:2.0分

1.如下代码,会弹出来是什么 alert(a);var a=12;

A  报错

B  a is not define

C  undefined

D  12

正确答案: C

解析:变量提升

2.JavaScript的组成不包括

A  ECMAScript

B  DOM

C  BOM

D  document

正确答案: D

3.以下代码执行后,分别弹出来的值是: 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为全局变量

4.如下代码,会弹出来是什么 var num1="1" ;var num2=1 alert(num1-num2);

A  0

B  11

C  1+1

D  报错

正确答案: A

解析:

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

5.for(var i=0;i<10;i++){ sum += i; } console.log( i )

A  8

B  9

C  10

D  11

正确答案: C

6.下面不是分支语句使用的关键字为

A  case

B  if

C  else

D  for

正确答案: D

解析:

7.分析输出结果是 

function sum(a){ a = a + 2; } 

 var res = sum(2); 

console.log(res);

A  2

B  4

C  NaN

D  undefined

正确答案: D

解析:

undefined

8.结束本次循环,进入下一次循环的关键字是

A  continue

B  break

C  return

D  switch

正确答案: A

9.代码的输出结果是 

function add(){  

    var sum = 1 + 2;  

    console.log( sum ); 

 } 

console.log(sum) ;

A  输出两个3

B  输出一个3

C  程序报错

D  输出一个undefined

正确答案: C

解析:

sum是局部变量,全局环境未定义

10.代码的输出结果是 

for(var i=1; i<=6; i++) {  

    if( i % 3 == 0) {    continue;  }  

    console.log( i); 

}

A  分别输出1、2、4、5

B  分别输出3、6

C  分别输出1、2、3、4、5、6

D  分别输出1、2

正确答案: A

解析:

能被3整除的数不会输出

11.y 的输出结果是 

var x=-10,y; 

x = 2*x; 

y = x+25;

A  -15

B  10

C  -5

D  5

正确答案: D

解析:

-10*2+25=5

12.代码的输出结果是 

var a = 3; 

function fn(){    

    var b = 4;    

    alert(a);      

    alert(b);      

    function me(){        

        alert(b);    

    }    

    me(); 

fn(); 

alert(a);

A  3 4 4 3

B  3 4 3

C  3 4 4

D  3 4 3 4

正确答案: A

解析:

a是全局变量,b是局部变量

13.typeof null 检测出来的数据类型是

A  null

B  number

C  object

D  undefined

正确答案: C

解析:

null是空对象

14.6 > 4  &&  false 运算的结果是

A  true

B  undefined

C  报错

D  false

正确答案: D

解析:

要保证&&左右两边都为真,&&左边为真,并不意味着整个表达式为真;所以得走&&符右边,由于&&右边是一个数,所以返回这个数

15.函数运行的结果是 

function sum(a,b){    

    var res = a + b;    

    return true;    

    return res; 

var res = sum(1); 

alert(res)

 

A  1

B  NaN

C  报错

D  true

正确答案: D

解析:

遇到return 终止 函数 并将return后面的结果返回; return下面代码就不会执行;所以是true

16.以下代码的运行结果是 alert(a); a = 10; alert(a)

A  undefined     10

B  报错     10

C  报错     打印不出来

D  0   undefined

正确答案: C

解析:

a没用var就直接使用会报错,一旦报错下面代码不执行

17.JavaScript代码必须出现在下面的哪个标签内部才可以被执行?

A  body

B  head

C  div

D  script

正确答案: D

解析:

script标签可以出现在页面的标签的任意处

18.JavaScript和Java之间的关系是

A  JavaScript是Java的子集

B  JavaScript和Java是一回事

C  Java是JavaScript的子集

D  JavaScript和Java没有包含关系

正确答案: D

解析:

他们之间没有任意关系,js是前端语言,java是后台语言

19.isNaN(123) 的结果是

A  true

B  false

C  null

D  以上都不对

正确答案: B

解析:

isNaN(值);值是一个数,返回false;不是一个数返回true;所以是false

20.下列哪个不是选择结构?

A  if

B  if...else

C  switch

D  do...while

正确答案: D

解析:

do...while是循环

21.函数返回值用下面哪个关键字返回?

A  return

B  break

C  continue

D  switch

正确答案: A

解析:

var arr = [3]; 创建了一个长度为1的数组,值为3

22.有下述JS代码: var x = 10; 

 function add( num ){  

  num++;   

 console.log( 'num='+num ); 

 }

 add(x); 

 console.log( 'x='+x ); 此段代码执行后的结果是

A  num=10 x=10

B  num=11 x=10

C  num=10 x=11

D  num=11 x=11

正确答案: B

解析:

num=11 x=10

23.HTML页面中写JavaScript时,会用到HTML的一个标签,它是

A  script

B  style

C  link

D  body

正确答案: A

24.如下代码,会弹出来是什么 var num1="hi" var num2=1 alert(num1-num2);

A  hi

B  1

C  NaN

D  报错

正确答案: C

解析:

进行Number()隐士转换, 都转换为数字, num1不是数字字符串,会转换为NaN

25.以下哪项不属于javascript的特征

A  Javascript是一种脚本语言

B  Javascript是事件驱动的

C  Javascript代码需要手动编译以后才能执行

D  Javascript是独立于平台的

正确答案: C

解析:

JavaScript是基于事件驱动并独立于平台的脚本语言

26.ES3的标准中,Javascript语言中定义变量的关键字是var,有时候不写,也没有错,此时,这个变量是

A  局部变量

B  全局变量

C  有可能是全局也有可能是局部

D  报错

正确答案: B

解析:   默认前面添加了一个window, 为全局变量

27.console.log(typeof typeof 123456),在控制台中打印什么内容

A  123456

B  number

C  string

D  object

正确答案: C

解析:

第一个 typeof 123456 返回 "number"

然后typeof "number" 返回"string"

28.

var num = 123.456789;

哪种方法可以保留3位小数

A  num.toString(3)

B  num.toFixed(3)

C  parseFloat(num,3)

D  Number(num,3)

正确答案: B

解析:

注意,只有数值类型的变量,才有toFixed方法

29.var num = 123.456789;

哪种方法可以保留3位小数

A  num.toString(3)

B  num.toFixed(3)

C  parseFloat(num,3)

D  Number(num,3)

正确答案: B

解析:

注意,只有数值类型的变量,才有toFixed方法

30.代码的输出结果是 

var a =5,b=8;   

var t =a; a =b; b=t; 

console.log(a,b)

A  5   8

B  8   5

C  3

D  13

正确答案: B

解析:

a和b互相交换

二、多选题(不定项选择)(共20题,每题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  赋值运算符

B  算术运算符

C  关系运算符

D  逻辑运算符

正确答案: A,B,C,D

解析:

赋值运算符=、数学运算符+ - * / %、一元运算符++  --、逻辑运算符&&  || !

8.程序都有哪些结构

A  顺序结构

B  选择结构

C  循环结构

D  以上都不正确

正确答案: A,B,C

解析:

程序结构有顺序结构、选择结构和循环结构

9.JavaScript的基本组成包括

A  DOM

B  BOM

C  jQuery

D  ECMAScript

正确答案: A,B,D

解析:

JavaScript的基本组成包括DOM、BOM和ECMAScript

10.switch语句中的关键字可以包含下面哪些?

A  case

B  else

C  break

D  default

正确答案: A,C,D

解析:

else是if判断的关键字

11.以下哪些属于循环语句

A  switch

B  for

C  while

D  do...while

正确答案: B,C,D

解析:

循环语句  有三个   for   while   do...while;    switch是选择结构

12.以下变量命名规范正确的是

A  $num

B  1num

C  num

D  num1

正确答案: A,C,D

解析:

变量名  不能以数字开头

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

解析:逻辑运算符

 

你可能感兴趣的:(javascript)