一、css 权重如何计算?
权重计算规则:
1、第一优先级:无条件优先的属性只需要在属性后面使用!important。它会覆盖页面内任何位置定义的元素样式。(ie6支持上有些bug)。
2、第一等:内联样式,如:style="color:red;",权值为1000.(该方法会造成css难以管理,所以不推荐使用)
3、第二等:ID选择器,如:#header,权值为0100.
4、第三等:类、伪类、属性选择器如:.bar, 权值为0010.
5、第四等:标签、伪元素选择器,如:div ::first-line 权值为0001.
6、通配符,子选择器,相邻选择器等。如*,>,+, 权值为0000.
7、继承的样式没有权值。
二、如何实现跨域?
1、JSONP跨域
jsonp的原理就是利用<script>标签没有跨域限制,
通过<script>标签src属性,发送带有callback参数的GET请求,
服务端将接口返回数据拼凑到callback函数中,返回给浏览器,
浏览器解析执行,从而前端拿到callback函数返回的数据。
2、跨域资源共享(CORS)
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。
它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。
CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。
浏览器将CORS跨域请求分为简单请求和非简单请求。
3.vue框架的跨域
node + vue + webpack + webpack-dev-server搭建的项目,跨域请求接口,直接修改webpack.config.js配置。开发环境下,vue渲染服务和接口代理服务都是webpack-dev-server同一个,所以页面与代理接口之间不再跨域。
4.非vue框架的跨域
使用node + express + http-proxy-middleware搭建一个proxy服务器。
三、什么是原型链?
基于原型对象的继承使得不同构造函数的原型对象关联在一起,并且这种关联的关系是一种链状的结构,我们将原型对象的链状结构关系称为原型链
四、谈谈你对 jquery 的理解?
jQuery 就是一款免费且开放源代码的JavaScript代码库;提供了HTML文档操作,节点查找,事件处理,动画设计,Ajax交互等丰富的功能;并且兼容各种主流浏览器;
五、简述创建函数的几种方式?
第一种(函数声明):具名函数
function sum1(num1,num2){
return num1+num2;
}
第二种(函数表达式)匿名函数
var sum2 = function(num1,num2){
return num1+num2;
}
第三种(函数对象方式)构造函数
var sum3 = new Function("num1","num2","return num1+num2")