vue 父子通讯 如何实现 父子之间的v-model
prop 能实现父子通讯 但是prop中子组件的值改变了 父组件如何能够第一时间更新变量?
position 的取值有哪几种,默认值是什么?
relative absolute fixed static(默认)
输出什么
1 | const p = { |
1 | const p = { |
引入传递
px em rem单位的区别?
px em rem均是相对长度单位。
- px像素(Pixel)是相对于显示器屏幕分辨率而言的。
当显示器分辨率为1920时,设置一个div的大小为200px,再使用1366的显示器看这个200px,使用肉眼看起来是不一样的,但实际上它的大小是一样。 - em是相对于父元素字体大小进行缩放的。
假设字体大小为16px,那么1em === 16px,个人用的比较多的地方就是一段文本首行缩进,即text-indent: 2em; 其他的场景基本上没怎么用过了。 - rem是基于根元素按比例缩放的,也就是倍数。
将html的font-size设置为100px,想要设置某个元素为10px,只需这样计算 10/100 = 0.1, 得到10px === 0.1rem;
扩展一些内容 - %一般来说是相对于父元素的大小。父元素宽为1000px时,则80% === 800px;
- vw和vh分别为可视区域的宽度和高度,最大值去100vh/vw;
- pt是绝对长度单位,没有用过,不赘述。
display:none 和 visibility:hidden的区别?
display:none | visibility:hidden |
---|---|
渲染时,元素从DOM中消失,不占空间 | 没有消失,占空间,出现空白块。 |
非继承性,子元素一同从DOM中消失,将子元素设置为block,仍然不可见 | 继承,子元素不可见时因为继承了父元素的样式,子元素设置为visible,仍然可见 |
修改该值,页面会重新渲染 | 不重新渲染 |
css选择器有哪些?
- 标签
p{
}
- class
.red {
}
- ID
#blue {
}
- 伪类
a:hover{} - 关系
li + li {}
使用css实现一个三角形。
1 | /* 使用边框 */ |
描述一下cookies,sessionStorage,localStorage的区别及用法?
- HTTP Cookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。
- sessionStorage 为每一个给定的源(given origin)维持一个独立的存储区域,该存储区域在页面会话期间可用(即只要浏览器处于打开状态,包括页面重新加载和恢复)。
- localStorage 同样的功能,但是在浏览器关闭,然后重新打开后数据仍然存在。
(以上来自MDN)
Cookies一般用于登录功能,用于保存登录后产生的tooken信息,让服务端知道该用户已经登录了。
localStorage可用于保存用户自定义主题之类的数据。sessionStorage、localStorage和域名是相关的,所有保存或删除都是在域名对应下进行的。(个人用的比较多的就是localStorage和vuex的配合使用,用于解决vuex页面刷新后数据不见的状态。)
分别列出JS中数组、字符串操作函数?
数组函数 | 描述 |
---|---|
push | 添加元素到数组的末尾 |
pop | 删除数组末尾的元素 |
shift | 删除数组最前面(头部)的元素 |
unshift | 添加元素到数组的头部 |
indexOf | 找出某个元素在数组中的索引 |
splice | 通过索引删除某个元素 |
slice | 复制一个数组 |
字符串函数 | 描述 |
---|---|
concat | 连接两个字符串文本,并返回一个新的字符串。 |
includes | 判断一个字符串里是否包含其他字符串 |
indexOf | 从字符串对象中返回首个被发现的给定值的索引值,如果没有找到则返回-1。 |
match | 使用正则表达式与字符串相比较。 |
replace | 被用来在正则表达式和字符串直接比较,然后用新的子串来替换被匹配的子串 |
slice | 摘取一个字符串区域,返回一个新的字符串 |
split | 通过分离字符串成字串,将字符串对象分割成字符串数组。 |
substr | 通过指定字符数返回在指定位置开始的字符串中的字符。 |
substring | 返回在字符串中指定两个下标之间的字符 |
toLocaleLowerCase | 根据当前区域设置,将符串中的字符转换成小写。对于大多数语言来说,toLowerCase的返回值是一致的。 |
toLocaleUpperCase | 根据当前区域设置,将字符串中的字符转换成大写,对于大多数语言来说,toUpperCase的返回值是一致的 |
toString | 返回用字符串表示的特定对象 |
trim | 从字符串的开始和结尾去除空格 |
这些操作函数还有很多,没有全部列出,具体可参考MDN,以上是个人比较常用的。
完成一个Promise链式写法的例子。
1 | Promise.all(promise).then((result) => { |
链式就是一个对象的方法返回的仍是一个拥有特定方法的对象,直到调用完成,才返回void
(什么乱七八糟的)
JS中箭头函数 ()=> 与普通函数function(){} 的区别?
- 不绑定this
在箭头函数出现之前,每个新定义的函数都有它自己的 this值。 - 通过 call 或 apply 调用
由于 箭头函数没有自己的this指针,通过 call() 或 apply() 方法调用一个函数时,只能传递参数,他们的第一个参数会被忽略。 - 不绑定arguments
箭头函数不绑定Arguments 对象,在大多数情况下,使用剩余参数是相较使用arguments对象的更好选择。剩余参数语法允许我们将一个不定数量的参数表示为一个数组。 - 使用 new 操作符
箭头函数不能用作构造器,和 new一起用会抛出错误。 - 使用prototype属性
箭头函数没有prototype属性。会返回undefined。 - 使用 yield 关键字
yield 关键字通常不能在箭头函数中使用(除非是嵌套在允许使用的函数内)。因此,箭头函数不能用作生成器。 - 返回对象字面量
用params => {object:literal}这种简单的语法返回对象字面量是行不通的。这是因为花括号({} )里面的代码被解析为一系列语句(即 foo 被认为是一个标签,而非对象字面量的组成部分)。所以,记得用圆括号把对象字面量包起来 - 换行
箭头函数在参数和箭头之间不能换行。
(以上内容来自MDN的重新排列组合)
如何屏蔽浏览器右键菜单?
1 | document.oncontextmenu = () => false |
http请求状态码有哪些?代表什么含义?
状态码 | 含义 |
---|---|
200 | 请求成功 |
304 | 发送get请求时,而文档的内容(自上次访问以来或者根据请求的条件)并没有改变,则服务器应当返回这个状态码。 |
400 | 语义有误、参数有误 |
401 | 无权限,常见于登录。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以询问用户信息。 |
403 | 禁止访问,服务器已经理解请求,但是拒绝执行它。常见于跨域。 |
404 | 请求失败,请求所希望得到的资源未被在服务器上发现。比如输入错误的URL。 |
500 | 服务器遇到了不知道如何处理的情况。 |
504 | 当服务器作为网关,不能及时得到响应时返回此错误代码。 |
(太多了,只列出个人常用的) |
Linus中常用的命令?
命令 | 描述 |
---|---|
cd | 切换目录 |
ls | 列出当前目录下所有的目录和文件 |
cp | 复制文件 |
mv | 移动文件、目录 |
rm | 删除 |
除了cd ls其他的基本上用的很少,现在的用户图像界面也是很不错的。
数组去重
1 | // 传统的方法 |
获取数组最大值
1 | function MaxFun (arr) { |