面试题常考点

1.对jsonp原理的理解

我的理解是 jsonp就是利用了scrip 的src标签,比如图片引入,a标签的跳转,请求回来的是一段js,绕开了同源协议。

  <script>标签的src属性并不被同源策略所约束,所以可以获取任何服务器上脚本并执行。比如你能引入一个js文件并能执行,

2.http和https

http是明文传输,https是加密传输
先发起请求 dns解析,然后tcp/ip建立连接,发起http请求,服务器响应 回答数据,

https搜索排名比http靠前

3.vue-router的modle 模式

hash模式和history模式

共同点:hash 模式和 history 模式都属于浏览器自身的特性

hash模式带有#号,配置域名只配置前面的就可以了,仅 hash 符号之前的内容会被包含在请求中,如 http://www.abc.com,因此对于后端来说,即使没有做到对路由的全覆盖,也不会返回 404 错误

history :利用了 HTML5 History Interface 中新增的 pushState() 和 replaceState() 方法。在当前已有的 back、forward、go 的基础之上,它们提供了对历史记录进行修改的功能,只是当它们执行修改时,虽然改变了当前的 URL,但浏览器不会立即向后端发送请求,前端的 URL 必须和实际向后端发起请求的 URL 一致,不然会有404错误,就是找不到页面

4.vue的双向绑定

   v-model指令

<input v-model="text"/> 这是语法糖
<input :value = "text" @input="e => text = e.target.value"/> 
//语法糖 1.v-bind:href="" 等同于 :href="" 
//2.v-on:input 等同于 @input 
//这个e e是标准浏览器传递进去的事件参数
组件的语法糖
<my-compont :visible:sync="dialogvisible"></my-compont>
<my-compont :visible="dialogvisible" @update:visible="newvisible => newvisible = dialogvisible" ><my-compont>

5.帮大家理解es6的map对象

6.Array of 和Array from 关于迭代器的说明

Symbol保证属性不重名

可迭代对象是具有 Symbol.iteration

7. ...

8. Map 和Set 对象

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。

Maps 和 Objects 的区别

  • 一个 Object 的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值。
  • Map 中的键值是有序的(FIFO 原则),而添加到对象中的键则不是。
  • Map 的键值对个数可以从 size 属性获取,而 Object 的键值对个数只能手动计算。
  • Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。  
var myMap = new Map();
var keyString = "a string"; 
 
myMap.set(keyString, "和键'a string'关联的值");
 
myMap.get(keyString);    // "和键'a string'关联的值"
myMap.get("a string");   // "和键'a string'关联的值"
                         // 因为 keyString === 'a string'

Set 对象

Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。

Set 中的特殊值

Set 对象存储的值总是唯一的,所以需要判断两个值是否恒等。有几个特殊值需要特殊对待:

  • +0 与 -0 在存储判断唯一性的时候是恒等的,所以不重复;
  • undefined 与 undefined 是恒等的,所以不重复;
  • NaN 与 NaN 是不恒等的,但是在 Set 中只能存一个,不重复。
let mySet = new Set();
 
mySet.add(1); // Set(1) {1}
mySet.add(5); // Set(2) {1, 5}
mySet.add(5); // Set(2) {1, 5} 这里体现了值的唯一性
mySet.add("some text"); 
// Set(3) {1, 5, "some text"} 这里体现了类型的多样性
var o = {a: 1, b: 2}; 
mySet.add(o);
mySet.add({a: 1, b: 2}); 
// Set(5) {1, 5, "some text", {…}, {…}} 
// 这里体现了对象之间引用不同不恒等,即使值相同,Set 也能存储

Node.js 中,__dirname 总是指向被执行 js 文件的绝对路径

所以当你在 /d1/d2/myscript.js 文件中写了 __dirname, 它的值就是 /d1/d2

mixins基础概况

混入 (mixins): 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。

服务端渲染和客户端渲染

服务端渲染 是一个生成好了的html 直接拿来用

客户端渲染 是动态的生成html数据 有异步操作 不利于爬虫 

数组操作 some 和 every, reduce

every:

判断数组中是否每个元素都满足条件

只有都满足条件才返回true;

只要有一个不满足就返回false;

arr.some( function(value,index, arr){ return value%2 == 0})  判断数组全为偶数才会返回true

arr.every(function(value,index, arr){ return value%2 == 0) 只要有一个数满足条件就会返回true

some相反 只要有一个条件满足就返回true

reduce: arr.reduce(function(pre,cur,index,arr){}, init)

pre:上次返回的回调值 或者初始值

cur:当前值

init:初始值

index:若有初始值 index为0 否则为1

常用的求和,去重,取最大值

var arr = [1,2,3,4,6,8]
arr.reduce(function(prev,cur){
    return Math.max(prev,cur)
})

不修改原数组,返回新的数组

contact ,slice

slice(start,end) slice(-3)

splice(start,howmany, item1....itemx)

start: 规定开始删除或者添加的位置

howmany:要删除的数量,为0 则不删除

item:可选 向数组添加新的

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值