1. 同源策略是什么?
1 | 限制一个源从另一个源的交互。需要相同域名,相同协议,相同端口。 |
2. html块元素、行元素
块元素: 1
**行元素:** ```span,a,input,.select,strong,em,i
空元素: 1
2
3
4
5
##### 3. splice、slice的区别
splice: 截取数组,返回被截取的值,改变原数组。```splice(1,3)```第一个参数下标,第二个参数是截取的位数
slice: 截取数组、字符串,返回新数组,原数组不动。可以用于字符串。 第二个参数是endIndex ```slice(startIndex,endIndex)
4. vue-router的钩子函数?
全局钩子函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15* **组件内钩子函数**
````js
beforeRouteEnter(to, from, next) {
// do someting
// 在渲染该组件的对应路由被 confirm 前调用
},
beforeRouteUpdate(to, from, next) {
// do someting
// 在当前路由改变,但是依然渲染该组件是调用
},
beforeRouteLeave(to, from ,next) {
// do someting
// 导航离开该组件的对应路由时被调用
}
`单独路由独享组件
1
2
3
4
5
6
7
8
9
###### 5. substring,substr的区别
**substring:** 如果都是一个参数的时候截取到末尾 第二个参数 endIndex 这个是startIndex,endIndex里找出一个较小的值,然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的字符串,截取出来的字符串的长度为较大值与较小值之间的差。
**substr:** 第二个参数是长度
```js
var txt = 'abcd';
txt.substr(2) "cd"
txt.substring(2) "cd"
txt.substring(2,1) "b"
6. object.assign() 用于将所有可枚举的值从一个或多个源对象中转移到目标对象。
如果目标对象中的属性具有相同的键,则属性将被源对象中的属性覆盖。后面的源对象的属性将类似地覆盖前面的源对象的属性。
1
2
3
4
5 var target = [1];
var source1 = [2];
var source2 = [3];
console.log(Object.assign(target,source1,source2))
结果: [3]
1 | var target = [1]; |
7. new Set() es6去重 之后返回类数组 需要…扩展运算符变为真正的数组
1 | var arr = [1,2,3,4,5,2,3,4]; |
8. 什么是异步编程?
promise、回调函数、时间监听、发布/订阅
9.
1 | let arr1 = [1,2,3,4,5]; |