1、js主要数据类型和复合数据类型
答案:Number、String、boolean、null、undefined基本数据类型,
除了这些以外都是复合类型,例如:Object、Array、Date、Math、RegExp
2、console.log(null == NaN) //false
console.log(null == undefined) //true
console.log(null == false) //false
console.log(false == ' ' ) //true
console.log(false == 0) //true
console.log(1+2+'3') //33
console.log('3'+1+2) //312
console.log(Number(undefined)) //NaN
console.log(Number(' '))// 0
console.log(isNaN(NaN))// true
console.log(isNaN('23'))// false
console.log(typeof NaN) //number
console.log(NaN == NaN) //false
console.log(undefined == undifined) //true
3、function t(a){
var a='hello';
alert(a)
function a() {
alert(null)
}
alert(a)
}
t(null) //输出hello,hello 注意没有执行a()函数
4、function fn(b) {
alert(b)
function b() {
alert(b)
}
b()
}
fn(10) //输出两次function b() {alert(b)}
5、function a(b) {
alert(b)
b=function () {
alert(b)
}
b()
}
a()//输出undefined ,function () {alert(b)}
6、js事件监听参数哪些是事件流机制的?js事件流机制有哪些?原理是什么?
答案:js事件监听element.addEventListener(event, function, useCapture)ie8以下是attachEvent
<input type="button" value="click me" id="btn1">
<script>
//事件监听
document.getElementById("btn1").addEventListener("click",hello);
function hello(){
alert("hello world!");
}
//事件委托
document.οnclick=function (event) {
if(event.target == btn6){
hello()
}
}
</script>
7、用js实现一个继承
8、封装一个函数正则匹配获取当前页面中的class类名
9、详细写出ajax的工作机制,列举js处理跨域的方式
10、ajax的工作机制是什么,列举js处理跨域的方式
11、用js写一个冒泡排序算法
12、rem、em、和px的区别
rem自适应布局
px: 像素;如果改变了浏览器的缩放布局就会被打乱
em: 10px=0.625em(原因是16px=1em;12px=0.75em;)
body{font-size:62.5%}
div{width:5.5em} /*就是宽度为55px的div*/
rem:html{font-size:100px;}
div{width:0.55rem}/*就是宽度为55px的div*/
13、随机打印1-100之间的数字,去重后取出该10个数字的和最小值和最大值
14、关于数组是最常考的 什么是伪数组,如何将伪数组转化成标准数组,
怎么判断一个变量是不是数组,并将这个数组随机排序,数组都有哪些方法
15、浏览器缓存有哪些,通常缓存分几种
16、将url的查询参数解析成对象
17、如何设置localstorage的过期时间
18、vue的生命周期
19、描述一下vue实例的viewmodel的生命周期(钩子函数)
20、利用vue过滤器实现一个数字加千分号
21、列举浏览器对象模型BOM里对象有哪些
window、location、Navigator
详细介绍bom对象
22、css3中transform、translate、transition有什么区别
23、css3中box-sizing是什么,有什么特点
content-box:不包括padding、border的值
border-box:包括padding、border的值,所以宽度不会因为设置了padding值而增大
24、移动端网页使用click会有什么问题
25、圣杯布局和双飞翼布局
26、display:none 和 visibility:hidden的区别
display:none 不在文档流中占位,浏览器也不会解析,切换显示时页面会产生回流
(页面重构,部分页面需要改变规模尺寸)
visibility:hidden 在文档流中占位,相当于透明度为0,切换显示时不会产生回流,所以性能更高