-
标签语义化怎么理解
语义化:直观认识标签和属性的用途和作用
html5节元素标签body article nav aside section header footer hgroup h1-h6 addredd
-
SEO
SEO:Search Engine Optimization搜索引擎优化
详情 -
介绍一下常用的行内元素、块级元素和行内块级元素
inline: <span> <a><strong><img><input><select><textarea>
block:div、form、ul、ol、p、h1、table、pre
inline-block:将对象设置为inline对象,但是内容作为block对象呈现 -
列举一下两列布局的实现方式
1)flex布局
2)table布局 :table tr td
3)table-class布局: table table-row table-cell
4)float布局:左侧float left 右侧margin-left:leftWidth「清除浮动:clear both display:block」
5)inline-block 适合定宽
6)响应式布局 -
css实现左侧盒子固定宽度右侧自适应的布局
思路:让div
脱离标准流,float或者absolute
实现:实现 -
固定定位以什么为基准定位。举两个固定定位的使用场景
absolute:绝对定位 脱离文档流(从原来的位置删除),以最近被定位的父级元素为定位基准
fixed:固定定位 以浏览器的窗口为定位基准 -
介绍一下定位方式
relative:相对定位,相对于其正常位置,left:20px
absolute:元素框从文档流完全删除 left top right bottom
fixed:相对于浏览器窗口进行定位,left top right bottom
static:元素出现在正常的流中 -
介绍一下盒子模型
-
防抖节流了解吗,介绍一下
防抖函数:事件触发后设置一个wait时间再执行,如果wait时间内,事件再次触发则重新计时
节流函数:事件在N秒内只能触发一次 -
介绍一下原型链
js原型:每个函数都有一个prototype属性,这个属性引用了一个对象(原型对象)
原型链:当我们访问一个对象属性时,如果对象内部不存在这个属性,则会去prototype中去找…
默认的原型链:
当前实例对象 - 构造函数的prototype - Object.prototype -null
-
原型链继承容易产生什么问题
1)包含引用类型值的原型属性会被所有的实例共享
2)无法在不影响其他实例的前提下向父类传递参数
CSDN -
JS中实现继承的方式
blog
1)原型链继承 2)借用构造函数继承 3)组合继承
4)原型式 5)寄生式 6)寄生组合(常用) -
JS的基本数据类型有哪些
String null boolean number undefined symbol -
如何判断一个js变量的类型
基本数据 typeof()
引用数据类型和new创建的变量
typeof {} [] // Object
typeof new Number(1) //Object
typeof new Boolean(true) //Object
instanceof
判断变量的原型链上层是否有构造函数
function Car(){}
new Car() instanceof Car
' ' instanceof String
Object.prototype.toString.call()
Object.prototype.toString.call(null) //"[object Null]"
Object.prototype.toString.call(new Number(1)) //"[object Number]"
-
判断某个js变量是数组
isArray -
判断某个js变量是数字
Object.prototype.toString.call(1)
typeof(A)=='number'
Number.isFinite()
-
浏览器的重绘重排是什么
重绘repaint:重排之后,浏览器重新绘制受影响的部分
重排reflow:DOM变化影响元素的**几何属性,**浏览器需要重新计算属性的几何属性,重新构造渲染树 -
在地址栏输入url访问后发生了什么
输入url——应用层DNS域名解析———传输层建立tcp连接——向服务器发送http请求——处理请求返回http响应——页面渲染——关闭连接 -
http和https的区别
http:超文本传输协议,基于请求响应,无状态的应用层的协议,基于TCP/IP协议传输数据
https:安全通信的传输协议,以SSL/TLS建立全信道,加密数据包
详情 -
跨域的方式
(1)JSONP (2)CORS (3)降域 (4)postMessage -
jsonp的原理 JSON with padding
利用html的script
标签可加载其他域下的js,利用script src
获取其他域下的数据,因为数据通过标签引入,所以会将请求到的JSON格式的数据作为js去运行处理,但是这样运行不可行需要提前将返回的json数据包装一下,封装成函数进行处理,函数名通过接口传参给后台,后台解析到函数名后的原始数据上这个函数名,发送给前端
<script>
function showDate(data){console.log(data)}
</script>
<script src='http://api.jirengu.com/weather.php?callback=showData' />
当script src请求到后端后,后端会去解析callback这个参数获取到的字符串showData,后端返回的数据用showData封装一下,即showData({‘json数据’}),前端script标签在加载数据后会把json数据作为showData的参数,调用函数运行
- 水平居中、垂直居中,各列举两个
水平居中margin:0 auto;text-align:center
,display:flex,justify-content:center
垂直居中: flex布局 align-items:center
,display:inline-block,verticle-align:middle
垂直居中
-
node
-
vue数据双向绑定原理
-
发布订阅模式
如何实现?
1)首先定义好发布者
2)然后给发布者添加一个缓存列表,用于存放回调函数来通知订阅者listen
3)最后发布消息trigger,发布者遍历此缓存列表,依次触发里面存放的订阅者回调函数 -
v-if和v-show的区别
v-if 是动态的向DOM树内添加或者删除DOM元素;
v-show 是通过设置DOM元素的display样式属性控制显隐;
-
vue组件通信方式
-
双向绑定机制在vue2.0和3.0实现上的区别
-
vue3.0有哪些新特性
知乎 -
单页面应用程序的优缺点
SPA:SPA
优点:1)单页内容的改变不会重新加载整个页面
2)前后端分离
3)减轻服务器压力,只需提供数据
缺点:
(1)首页加载慢:Vue-router懒加载、异步加载组件、服务器渲染、CDN加速
(2)不利于SEO: -
数组常用API
splice
:删除元素,并向数组添加新元素
slice
,push
,
pop
:删除并返回数组最后一个元素
shift
,unshift
:返回新数组长度
sort
,join
,concat
,
toString
-
splice和slice方法的区别
splice(下标,0,添加数据)从指定下标位置开始,删除0个,然后添加新数据,返回删除的元素
slice(begin,end)返回指定的元素
-
get和post请求的区别,列举一下
get
:url包含参数,并会被浏览器主动cache,只能进行url编码
post
:通过request body传递参数,不会主动cache,支持多种编码方式 -
git常用指令,列举一下
git init
,git status
,git add
,git commit
,git log
,git branch
,git merge
-
git如何切换分支
git checkout BranchName