1、动态设置显示的位置(x、y是获得鼠标的坐标),css不需设置left、top等
$(".rt_mouse_box").show().css({left:x,top:y});
2、什么是promise、和用法:
解决地狱回调问题
3、跨域:
引起原因:浏览器的同源策略、协议名、域名、端口号必须一致
解决办法:1、jsonp(前端和后台)2、cors(后台)3、服务器代理(后台)
jsonp实现方法原理:scrict标签是不受同源策略影响、js代码动态添加scrict,
var scrict = document.creatElement("crict")
scrict.src = "http://xxxxx?callbakc=getdata"
function getdata(){
console.log(data)
}
document.body.appendchild(scrict)
4、闭包:
定义:嵌套函数中,内部函数访问外部函数的局部变量,则内部函数就是闭包
优点:可以延长外部函数的局部变量的生命周期
缺点:也是优点造成的,就是容易出现内存的泄漏
function fun(){
var count = 1
retutn function(){
count++
console.log(count)
}
}
var fun2 = fun()
fun2() //2
fun2()//3
5、如何实现rem的适配
原因:同一个元素或盒子在不同大小的屏幕上要有一样的大小比例
实现原理:1rem等于html根元素的font-size的大小
实现步骤:
//获取屏幕宽度
var width = document.documentElement.clientWidth
//查找根元素
var htmlNode = document.querySelector("html")
//设置font-size
htmlNode.style.font-size = width+"px"
6、变量提升(预处理)
定义:代码执行之前会把变量和函数收集,变量是声明提前但赋值不会,函数是整体提前。
console.log(name)//undefined
var name = "xioaming"
console.log(name)//xioaming
func() //xioaming
function func(){
console.log(name)
}
7、vue和react的区别
相同点:(1)都是组件式开发和虚拟dom
(2)可以通过父子组件传值
(3)通过数据来驱动
不通点:(1)vue是双向绑定、react数据流是单向的
(2)react是使用jsx,即html下载js里,而vue是分开
8、vue的通讯方式有哪几种
1、props(父传子)
2、自定义事件(子传父)
3、消息的订阅与发布(pubsub)(任意组件间)
4、vuex(任意组件间)
5、slot(插槽,主要传标签)
9、es6去重
var arr = [1,2,3,3,4,5]
var result = new Set(arr)
var newarr = [...result]
10、数组元素对应作为实参
var arr=[1,2,3],
function test(a,b,c){
}
test.apply(this,arr) //a=1,b=2,c=3
call
test.call(this,1,2,3) //a=1,b=2,c=3
bind
test.bind(this,1,2,3) //不调用改变this
11、前端优化方法
(1)css放顶部,js放底部;(2)异步路由;(3)雪碧图(小图标放到一个图)
(4)减少请求;(5)压缩资源;(6)减少dom操作、和循环