JavaScript基础经典面试试题(附答案)
D: console.log(parseInt('12px')) 在控制台打印 12px//直接截掉后面不是数字。25. 需要在 html 页面上引用脚本文件myJs.js,下列语句中,正确的是(D)A: 可以用 new Array(1, 2, 3, 4) 这种方式创建数组。2. parseInt("6*7", 10) 的 结果是( C )C: console.log( 1+ "1") 在控制台打
一、单选题
1. 下列变量名合法的是 ( C )
A: 5show
B: return
C: $user
D: var
2. parseInt("6*7", 10) 的 结果是( C )
A: 42
B: "42"
C: 6
D: NaN
注:遇到第一个不为零的数字直接截取,第一个参数表示是进制
3. 请问下面那个方法可以删除数组最后一个元素?(C)
A: shift()
B: unshift()
C: pop()
D: push()
4. js 数据类型说法错误的是?(D)
A: js 数据类型分为基本数据类型和引用数据类型
B: 简单类型又叫做基本数据类型或者值类型
C: 复杂类型又叫做引用类型
D: 简单数据类型存放到堆里面,引用数据类型存放到栈里面
5. 以下while循环的次数是(C)
let i = 0 while (i===1){ i++ }
A: 无限次
B: 有语法错误, 不能执行
C: 一次也不执行
D: 执行一次
6. 下面不属于JavaScript数据类型的是? (D )
A、 number B、 string C、 boolean D、 int
7. 下列哪种方式访问对象属性会报错(D)
const obj = { name:'周杰伦', age: 20 }
A: obj['name']
B: obj.name
C: obj["age"]
D: obj[age]//不带引号是变量
8. 关于for...in遍历对象,如下描述正确的是(C)
A: 只能遍历数组属性
B: 只能遍历对象的属性
C: 语句用于遍历数组或者对象的属性, 但是我们不推荐使用for in遍历数组
D: 语句不能遍历数组
9. 下列哪一个语句结果为22 (D)⭐
var num1 = 5 var num2 = 4
A: ++num2 + num1 * 2 + num2++(5+10+5)
B: ++num2 + num1 * 2 + ++num2 + 2
C: ++num2 + num1 * 2 + num2 * 2 - 2
D: num2++ + num1 * 2 + num2 * 2 - 2(4+10+10-2)
10. 关于数组的描述错误的是(C)
A: 可以用 new Array(1, 2, 3, 4) 这种方式创建数组
B: 数组的创建方式还可以是 [1, 2, 3, 4, 5]
C: 数组的每一项值都有索引, 索引默认从1开始
D: 数组是引用数据类型,或者说是复杂数据类型
11. 下面哪个选项可以产生 0 <= num <= 10 的随机数 ( C )
A: Math.ceil (Math.randon() * 9 )
B: Math.floor (Math.random() * 10)
C: Math.floor (Math.random() * 11)
D: Math.ceil (Math.random() * 11)
12. 下列代码执行结果 ( B)
function sum(a, b) { return a + b; } console.log(sum(1, "2")) console.log(typeof sum(1, "2"))
A: 3 string
B: 12 string
C: 3 number
D: 12 number
13. 下面代码的执行结果为( D )
var a = 20; function foo(){ console.log(a) ; var a = 10 ; ++a; console.log(a) ; } foo();
A: 20 10
B: 10 11
C: 20 11
D: undefined 11
注:var 声明的变量会提到当前作用域的最顶层
14. 如下代码 , 此时box1和box2盒子的宽高分别为多少( A)
A: box1:300*300
,box2:200*200
B: box1:200*200
,box2:300*300
C: box1:200*200
,box2:200*200
D: box1:300*300
,box2:300*300
<style> html { font-size: 20px; } .box1 { width: 10em; height: 10em; background-color: pink; font-size: 30px; } .box2 { width: 10rem; height: 10rem; background-color: skyblue; font-size: 30px; } </style> <div class="box1"></div> <div class="box2"></div>
15. 下列选项中能让元素往右平移400px并且同时实现放大2倍的代码是?( B )
A: transform: translateY(400px) scale(2);
B: transform: translateX(400px) scale(2);
C: transform: translateX(400px); transform: scale(2);
D: transform: translateX(400px); transform: scaleX(2) scaleY(2);
16. 代码的输出结果是 ( C )
function fnMax(a,b,c){ var max = a > b ? a : b; if(c > max){ max = c;} alert(max); } fnMax(8, 2, 5);
A: 5
B: 2
C: 8
D: 10
17. 下面代码输出什么 ? ( C )⭐
var numbers = [1, 2, 3] numbers[10] = 11 console.log(numbers)
A : [1, 2, 3, null x 7, 11]
B: [1, 2, 3, 11]
C: [1, 2, 3, empty x 7, 11]
D: SyntaxError
18. 下面代码输出什么? (C)
function addToList(item, list) { return list.push(item) } var result = addToList('apple', ['banana']) console.log(result)
A: ['banana', 'apple']
B: ['apple', 'banana']
C: 2
D: true
19. 下列哪种数组的方法不会修改数组本身 ?(A)
A: slice
B: splice
C: sort
C: unshift
注:slice ()截取数组片段,返回一个新的数组 不改变原数组
20. 关于JS中数据类型转换, 下列说法正确的是? (A)
A: console.log(true + 1) 会在控制台打印2
B: console.log(undefined + null) 在控制台打印 0
C: console.log( 1+ "1") 在控制台打印 2
D: console.log(parseInt('12px')) 在控制台打印 12px//直接截掉后面不是数字
21. 请问下列结构中,I'am here 字体会是多大? (D)
<style type="text/css"> #a {font-size:12px} div p{ font-size:13px } div .c{ font-size:14px } .a .b .c{ font-size:15px } #b{ font-size:16px } </style> <body> <div id="a" class="a"> <div id="b" class="b"> <p id="c" class="c">I’am here</p> </div> </div> </body>
A: 12px
B: 13px
C: 14px
D: 15px
E: 16px
22. 下面代码的输出是什么?( D)
function sayHi() { console.log(name); console.log(age);//暂时性死区 var name = "TJH"; let age = 24; }
-
A: TJH 和 undefined
-
B: TJH 和 ReferenceError
-
C: ReferenceError 和 24
-
D: undefined 和 ReferenceError
23 下面代码输出是什么?(C)
let a = 666; let b = new Number(666); let c = 666; console.log(a == b); console.log(a === b); console.log(b === c);
-
A: true false true
-
B: false false true
-
C: true false false
-
D: false true true
24. 下面代码输出(B)
console.log(typeof typeof 1);
-
A:
"number"
-
B:
"string"
-
C:
"object"
-
D:
"undefined"
25. 需要在 html 页面上引用脚本文件myJs.js,下列语句中,正确的是(D)
A: <script href="myJs.js" type="text/javascript" />
B: <script href="myJs.js" type="text/javascript" />
C: <script scr="myJs.js" type="text/javascript"></script>
D: <script src="myJs.js" type="text/javascript"></script>
26. 下列的哪一个表达式将返回假(B)
A: !(3<=1)
B: (4>=4)&&(5<=2)
C: 2<3
D: (2<3)||(3<2)
27. 求以下函数运算的结果 (C)
function fn(){ console.log(100) } console.log(fn())
A: 报错
B: 100 100
C: 100 undefined
D: undefined undefined
28. 以下代码运行的结果是 (D)⭐
(function(){ var a = b = 20 //b没有声明 是全局变量 b = 10 })(); console.log(b) console.log(a)
A : 10 20
B: 20 10
C: 20 报错
D: 10 报错
29. 以下代码运行的结果是(B)
var a = 888 ++a console.log(a++)
A: 888
B: 889
C: 890
D: 891
30. 以下代码输出结果是(C)
let arr = new Array(5) arr[1] = 1 arr[5] = 2 console.log(arr.length)
A: 2
B: 5
C: 6
D: 报错
更多推荐
所有评论(0)