1.在不同浏览器中有哪些兼容问题?
a,css兼容不同:比如不同浏览器的内外边距不同,解决方法:padding:0;margin:0;透明度的兼容在IE下要写成filter: alpha(opacity: 10);其他的是opacity: 0.1;
b,html标签兼容:在IE浏览器中h5新标签不兼容,可以引用html5shiv.js来处理;
c,javascript兼容:
获取滚动条距离, IE,Chrome中: document.body.scrollTop; FF中: document.documentElement.scrollTop;兼容处理:var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
event对象兼容问题,在获取鼠标位置时IE/Chrom: event.clientX;event.clientY; FF/IE9以上/Chrom: 传参ev--> ev.clientX;ev.clientY;
2.判断数据类型的方法有哪些?
1.typeof判断基本数据类型(null,undefined,string,number,boolean);
console.log(typeof (null)); //object console.log(typeof (0)); // number console.log(typeof ('11')); //string console.log(typeof (false)); //boolean console.log(typeof ('')); //string console.log(typeof (o)); //undefined 没申明
2.instanceof判断new出的对象是否是特定类的一个实例(通过返回布尔值判断)。
//typeof 弊端 console.log(typeof (new Object())); //object console.log(typeof (new Array())); //object console.log(typeof (new Function())); //function //需要用instanceof 判断 console.log(new Object() instanceof Object); //true console.log(new Function() instanceof Function); //true console.log(new Function() instanceof Array); //false
3.ajax的readyState的五种状态。
0. (XMLHttpRequest)对象已经创建,但还没有调用open()方法;
1.(载入):已经调用open() 方法,但尚未发送请求;
2 (载入完成): 请求已经发送完成。
3 (交互):可以接收到部分响应数据。
4 (完成):已经接收到了全部数据,并且连接已经关闭。
4.Vue的组件间是怎么通信的?
1.父向子通信通过props属性实现,props可以是数组或对象,用来接收父组件数据;
2.子向父通信通过$emit()自定义方法,将数据传递到父组件,父组件通过v-on来监听;
$emit()第一个参数是提交的事件,后面的参数是要提交的数据,数据可以不止一个,也可以是对象;
3.兄弟组件通信不能直接传值,需要一个中间桥梁,可以先将数据传递给公共的父组件,然后父组件再将数据传递给需要的子组件;
5.js的设计模式有哪些?
1.工厂模式(在函数中定义对象,并定义属性方法);
2.js构造函数模式(在函数内部不用new对象,直接用this代替;);
3.js原型模式(在函数中利用prototype属性对属性进行定义);
4.构造函数+原型的混合模式(将所有的属性,不是方法的定义在函数中(构造函数的方式),将所有属性值为方法的利用prototype在函数之外定义(原型方式));
5.构造函数+原型的动态原型模式;
本文暂时没有评论,来添加一个吧(●'◡'●)