【问答】linux中 vim有几种模式?如何进行这几种模式的切换
命令行模式、插入模式、底行模式
命令行模式->插入模式
命令行模式->底行模式 : ?
插入模式->命令行模式 esc
【问答】css3中animation与transition表示什么意思?
animation表示动画
transition表示过渡
【问答】css中verticle-align规则有什么作用
设置行内元素的排列方式。
默认取值为baseline,即行内元素默认按照基线来进行排列
【问答】相对定位、绝对定位、固定定位、粘滞定位、静态定位有什么区别?
脱离文档流的是:绝对定位、固定定位、粘滞定位
没有定位属性与效果:静态定位
参考点不同:
相对定位:相对原先自己的位置
绝对定位:相对于距离它最近的父定位元素位置移动。如果所有的父元素都不是定位元素,相对于浏览器视口位置移动。
固定定位:相对浏览器窗口定位
粘滞定位:相对定位+固定定位组合,有临界值
【问答】什么是响应式网页?如何实现一个响应式网页
响应式网页可以根据用户的访问设备不同而发生自适应变化。
可以通过@media来进行媒体选择,不同的设备尺寸执行不同的css代码。也可以使用bootstrap第三方库来完成响应式布局
【问答】linux中远程登录命令、远程文件传输命令、查看Java进程命令分别是什么?
ssh 用户名@ip
scp 本地文件路径 用户名@ip:远程文件路径
或者 ftp 用户名@ip
ps -ef | grep java
【问答】什么是块元素,块元素有哪些特点?
块元素常用于搭建页面框架,常见的块元素有:div、h1~h6、p、ul>li、ol>li、dl>dt,dd、header、article、section等h5新增语义化标签
特点:
独占一行空间;
高度由内容决定;
可以指定宽高;
块元素内允许嵌套其他块元素与行内元素
【问答】em 与rem的区别?
em:相对于当前元素上的字体大小
rem:相对于html元素上声明的字体大小
【问答】如何使用css绘制一个三角形?
不给盒子元素设置宽高,给4个方向分别设置边框,但是颜色都为透明, 设置其中一个方向边框色,例如border-bottom,那么将绘制一个三角朝上的三角形。
#app {
width: 0;
height: 0;
border: 100px solid transparent;
border-bottom: 100px solid #ccc;
}
【问答】简述css3选择器的优先级机制?
css优先级取决于 权重、顺序、特权
权重规则:不同的选择器权重值不同
1000 style
100 id
10 class、伪类
1 元素、伪元素
当权重相等情况下,后者优先级比前者更大
规则中如果添加!important表示至高无上的权限
【问答】在js中如何判断一个数据类型
可以通过typeof来判断基本数据类型以及对象,函数
通过Array.isArray()来判断引用数据类型是对象还是数组
通过instanceof来判断对象是否是某个构造函数的实例对象
通过Object.prototype.isPrototypeOf(对象)来判断对象是否是某个原型链中的后代
通过isNaN()、isInfinite()来判断一个数字是否非数值类型,无穷数
【问答】在js的面向对象中继承方式有哪几种,分别进行描述
原型链
借用构造函数
原型链与借用构造函数组合
【问答】简述js函数的this指向问题?
this指向实际操作的对象,如果没有操作对象则指代全局的global或者window对象
【问答】如何实现一个对象的深拷贝?
方法1:使用JSON, var copy = JSON.parse(JSON.stringify(obj));
方法2:第三方库lodash 的cloneDeep
方法3:jQuery 自带的 extend 方法可以用来实现对象的复制
var a = {v1:1, v2:2};
var b = {};
$.extend(b,a);
方法4:自己封装实现
【问答】什么是闭包?如何解决闭包打来的内存泄露问题?
闭包是指有权访问另一个函数作用域中的变量的函数,闭包的创建方式,就是在一个函数内部创建另外一个函数。
内存泄露问题:主动释放内存空间,例如
function showId() {
var el = document.getElementById("app")
el.onclick = function(){
aler(el.id)
// 这样会导致闭包引用外层的el,当执行完showId后,el无法释放
}
}
// 改成下面
function showId() {
var el = document.getElementById("app")
var id = el.id
el.onclick = function(){
aler(id)
}
el = null // 主动释放el
}