1 . CSS和JS在网页中的放置顺序
2 . 解释白屏
和FOUC
3 . async
和defer
的作用,区别
4 . 简述网页的渲染机制
5 . JavaScript 定义了几种数据类型? 哪些是简单类型?哪些是复杂类型?
6 . NaN
、undefined
、null
分别代表什么
7 . typeof
和instanceof
的作用和区别
代码
1 . 完成如下代码判断一个变量是否是数字、字符串、布尔、函数 (难度*)
ps: 做完后可参考 underscore.js 源码中部分实现
function isNumber(el){
// todo ...
}
function isString(el){
//todo ...
}
function isBoolean(el){
//todo ...
}
function isFunction(el){
//todo ...
}
var a = 2,
b = "jirengu",
c = false;
alert( isNumber(a) ); //true
alert( isString(a) ); //false
alert( isString(b) ); //true
alert( isBoolean(c) ); //true
alert( isFunction(a)); //false
alert( isFunction( isNumber ) ); //true
2 . 以下代码的输出结果是?(难度**)
console.log(1+1);
console.log("2"+"4");
console.log(2+"4");
console.log(+new Date());
console.log(+"4");
3 . 以下代码的输出结果是? (难度***)
var a = 1;
a+++a;
typeof a+2;
4 . 遍历数组,把数组里的打印数组每一项的平方 (难度**)
var arr = [3,4,5]
// todo..
// 输出 9, 16, 25
5 . 遍历 JSON, 打印里面的值 (难度**)
var obj = {
name: 'hunger',
sex: 'male',
age: 28
}
//todo ...
// 输出 name: hunger, sex: male, age:28
6 . 下面代码的输出是? 为什么 (难度***)
console.log(a);
var a = 1;
console.log(a);
console.log(b);