# 1.以下哪项不属于javascript的基本数据类型?(选择两项)
**A.**undefined **B.**null **C.**object **D.**int
本题考察的是JavaScript的的基本数据类型。其中undefined和null是javascript的基本数据类型,Object和int不是JavaScript的基本数据类型。所以本题答案为CD。
# 2.下列关于typeof的描述错误的是? (选择一项)
A. typeof用来检测变量的数据类型
B. typeof的返回值只能是string
**C.**typeof的使用方法有两种:(1) typeof变量 (2) typeof(变量)
**D.**typeof的返回值是string类型
本题考察的是JavaScript的的基本数据类型。
typeof用来检测变量的数据类型,A说法正确。
typeof的返回值有Undefined、Null、Boolean、Number、String、Object,B说法错误。
typeof的使用方法有两种:typeof 变量 和 typeof(变量),C说法正确。
typeof的返回值是string类型,D说法正确。
所以本题答案为B。
# 3.undefined==null的返回结果是?(选择一项)
A. true **B.**false **C.**不能正常运行 **D.**undefined
本题考察的是undefined,
正确选项为A;undefined派生自null,所以undefined==null返回的结果是true。
# 4.代码运行结果是?(选择一项)

A. 在控制台中打印输出string **B.**在控制台中打印输出sharry **C.**在浏览器中打印输出string **D.**在浏览器中打印输出marry
typeof是用来检测变量类型的,name_01是string类型,而且console.log()是在控制台输出,所以结果是在控制台中打印输出string,本题答案为A。
# 5.关于NaN的描述有误的是哪项?(选择一项)
A. NaN是非数值 **B.**任何涉及NaN的操作都会返回NaN **C.**NaN与NaN本身是相等的 **D.**NaN与任何值都不相等
NaN 属性是代表非数字值的特殊值,它是用来表示某一个值是否属于number类型的一种状态: 是或否,而不是一个确切的值;当一个表达式返回了NaN 时,表示该表达式中存在不可以转化的变量,并返回了无效的结果,并不是返回了一个确切的值,所以NaN和谁都不相等,因为条件永远不成立,即使某一个值确实不是有效数字,转换的结果确实是NaN,但是NaN仍然是不等于NaN的,因为NaN不是一个确切的值,所以本题答案为C。

# 6.isNaN(n)的返回值是什么类型的?(选择一项)
A. int **B.**number **C.**boolean **D.**NaN
本题考察的是isNaN(n)的返回值类型,正确选项为C;isNaN(n)的作用是检测n是否是“非数值”。返回值为boolean类型.故本题答案是:boolean。

本题考察的是isNaN(n)的用法,函数用于检查其参数是否是非数字值,如果这个变量不是一个数值,则返回true,如果是一个数值,则返回false。age是数值,所以isNaN(age)为false,name_01不是数值,所以isNaN(name_01)为true。
# 7.下列选项中,描述错误的是?(选择一项)
A. 除0之外的所有数字,转换为布尔型都为true **B.**除“”之外的所有字符,转换为布尔类型都为true **C.**Undefined转换为布尔型为false **D.**Null转换为布尔类型为true
除0和空字符串之外的所有字符转换为布尔类型都为true,Null和Undefined转换为布尔型后是false类型。所以D说法错误,本题答案为D。
# 8.可以让用户在页面弹出的输入框中输入内容的方法是()(选择一项)
**A.**alert()
**B.**console.log()
**C.**document.write()
**D.**prompt()
参考解析:
A:alert()是在页面中弹出一个提示框;
B:console.log()是在控制台中输出语句内容;
C:document.write()是在页面中显示内容;
D:prompt()是在页面中弹出一个输入框,可以让用户进行输入;
# 9.-3.1415是什么类型?(选择一项)
**A.**Boolean **B.**Number **C.**string **D.**Undefined
本题考查数字类型。
正数、负数、0、浮点数,都是数字类型。
-3.1415是Number类型,所以本题答案为B。
# 10.关于Infinity,说法错误的是?(选择两项)
**A.**Infinity是无穷小
**B.**非零数字除以0时,结果是Infinity
**C.**Infinity不是一个数字类型
**D.**使用typeof检测Infinity的类型是number
本题考查Infinity。
Infinity是无穷大的意思,A说法错误。
非零数字除以0时,结果是Infinity,B说法正确。
Infinity本身是一个数字类型,C说法错误。
使用typeof检测Infinity的类型是number,D说法正确。
所以本题答案为AC。
# 11.let str='';中变量str是什么类型?(选择一项)
**1.**Null **2.**Undefined **3.**string **4.**Number
本题考查字符串基础知识。
变量str的值是一个空字符串,所以它的类型为String类型,本题答案为C。
# 12.以下代码输出的结果是?(选择一项)

A.null
B.object
C.undefined
D.string
本题考查null值的输出类型。
typeof检查类型结果并不总是一一对应的,typeof null输出的是object,所以本题答案为B。
# 13.下列选项中,描述错误的是?(选择一项)
**A.**除0之外的所有数字,转换为布尔型都为true
**B.**除“”之外的所有字符,转换为布尔类型都为true
**C.**undefined转换为布尔型为false
**D.**Null转换为布尔类型为true
本题考察的是boolean类型的转换。
除0和空字符串之外的所有字符转换为布尔类型都为true,Null和Undefined转换为布尔型后是false类型。所以D说法错误,本题答案为D。
# 14.JavaScript语句结束符使用哪个符号?(选择一项)
A“。”
B.”.“
C.”,“
D.”;“
本题考查的是JS语句结束符号。
在JavaScript中,结束语句是分号,可以省略,但是在学习初期建议大家都写上,代码会比较规范,也不容易出错。所以本题答案为D。
15.以下选项中,说法正确的是?(选择两项)
A.console是js的内置对象,log是console对象的方法
B.字符串只能使用单引号包裹,不能使用双引号包裹
C.浏览器遇到alert时,会暂停程序的执行
D.js代码中,语句结束时使用的分号可以是中文分号
本题考查js的一些基本语法。
console是js内部规定好的对象,即内置对象。log是console对象的方法,A说法正确。
字符串使用单引号或者双引号包裹都可以,B说法错误。
alert会阻塞程序的执行,当点击确定或者取消之后,才会继续往下执行程序,C说法正确。
js语句结束时添加的分号应该是英文状态下,中文分号语法不对,D说法错误。
所以本题答案为AC。
# 15.哪一个选项,可以弹出如下效果?(选择一项)
# 
**A.**alert("hello world")
**B.**alert('hello world')
**C.**alert('"hello world"')
**D.**alert("'hello world'")
本题主要考查alert方法的使用。
字符串本身就需要使用引号包裹,最外层的引号不会显示在弹窗内容中。注意观察,弹出的内容中包含一对双引号。A中alert("hello world")和B中alert('hello world')只有最外层的引号,弹窗的内容中没有引号,所以结果不符合。D中alert("'hello world'")弹出的内容包含的是单引号,只有C中alert('"hello world"')弹窗的内容中包含双引号。所以答案为C。
# 16.在JavaScript中,下列标识符(变量、函数等命名规则)格式正确的是(选择两项)
**A.**8_abc
**B.**if
**C.**Abc_3
D.$abc
本题考查的是JavaScript的标识符。
标识符的命名规则:由字母、数字、下划线以及美元符号组成;不能以数字开头;不能使用关键字,保留字等作为标识符。
标识符不可以数字开头,A写法错误。
if是关键字,不可以用作标识符,B写法错误。
所以本题答案为CD。
# 17.JavaScript中,如果一次声明多个变量,那么变量名与变量名之间用什么符号区分开?(选择一项)
A." 。"
B." . "
C." ,"
D." ; "
本题考查的是一次声明多个变量时变量名之间使用的符号。
使用一个var声明多个变量,那么变量名之间使用逗号分开(例如 var a,b,c,d;)。所以本题答案为C。
# 18.关于变量,以下选项中说法错误的是?(选择一项)
A.定义变量需要使用var
B.变量赋值使用等号(=)
C.修改变量值时,前面需要使用var
D.输出变量时,不需要加引号
本题考查变量的定义和使用。
变量定义时,使用var , 修改时不需要加var,使用 等号(=) 赋值(例: var a=1; a=5),输出时,不需要引号(console.log(a)), 所以本题答案为C。
19.以下代码,输出的结果是?(选择一项)

**A.**5,22,55
**B.**5, 云牧帅的不谈,55
**C.**5, 22,z
**D.**5,云牧帅的不谈,z
本题主要考查变量的输出,具体参考如下:
第一个输出变量x的值为5,第二个输出y的值,注意y的值被修改,输出"云牧帅的不谈",第三个输出z时加了引号,此时z表示的不是变量,而是字符串。所以输出z,本题答案为D。
# 19.isNaN()函数检测下我们学过的数据类型是不是数值类型吧!
需要判断的数据如下:
null,10,"我是小云同学","10",undefined
一定要注意:isNaN()返回的是false,表示就是数值,返回的是true,表示就是非数值