2021-06-21面试总结

今日面试总结

1、es6新增的object方法

  • Object.create() 创建一个新对象
  • Object.is(val1, val2) 用来比较两个值是否严格相等,与严格比较运算符(===)的行为基本一致。
  • Object.assign(target, source) 不是深拷贝
    这种方法对于一层对象来说是没有问题的,但是如果对象的属性对应的还是对象或者数组时,就不能实现了

实现深拷贝的方式

2、es6新增的string方法

  • for…of 遍历字符串
let str="wbiokr";
for(let s of str){
    console.log(s)
}
//结果:w, b, i, o, k, r
  • string.includes(s,i)
    参数1为需要查询字符(串),参数2为查询的起始位置,返回布尔值,而indexOf返回查询的位置。

  • string.startsWith(s,i)
    参数1为需要查询字符(串),参数2为查询的起始位置,返回布尔值,表示是否字符(串)位于string的头部位置。

  • string.endWith()

3、es6数组的方法

es6数组的方法

4、实现文字过长时的…

  text-overflow: ellipsis;
  white-space: nowrap; // 不换行 
  overflow: hidden;

5、遍历对象的key和value

object = {"name":"kejin",
           "age":"18"}

for(var index in object){
    console.log(index);
    console.log(object[index]);
}

  • Object.keys() 返回值:对象的所有可枚举属性的字符串数组
  • Object.values() 返回值:对象的所有可枚举属性的值得数组
  • Object.entries() 返回值:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值对数组。
var obj = { foo: 'bar', baz: 42 };
Object.entries(obj)
// [ ["foo", "bar"], ["baz", 42] ]

6、Set和Map

Set类似于数组,但不可重复
Map与对象类似,都是键值对组成,Map的键可以是任何类型 数字,字符串,布尔类型,undefined 甚至 NaN。

7、hash和history的区别

hash :即地址栏 URL 中的 # 符号
它的特点在于:hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。

history
利用了 HTML5 History 中新增的 pushState() 和 replaceState() 方法。
这两个方法们提供了对历史记录进行修改的功能。

8、原型链

原型链讲解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值