分享免费的编程资源和教程

网站首页 > 技术教程 正文

2019年最全前端面试题及答案(三) 前端面试题基础篇

goqiw 2024-10-20 07:22:32 技术教程 24 ℃ 0 评论

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.构造函数+原型的动态原型模式;

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表