前端面试题

最近的也在找工作,就整理了一些面试题

1. 怎样打断forEach循环

let arr = [1, 2, 3]
try {
	arr.forEach(item => {
		if (item === 2) {
			throw('循环终止')
		}
		console.log(item)
	})
} catch(e) {
	console.log('e: ', e)
}

2. vue模板为什么只有一个根节点

  • 从数据结构来看,new Vue({el:根节点}) 要求只能有一个根节点;
  • 从diff算法来看,diff算法本就是利用“树”状数据结构来进行虚拟dom更新,所以,vue只有一个根元素,其实也是diff算法所要求的。

3. vue双向绑定的实现原理

核心是 ==Object.defineProperty()==方法

数据属性

  • .configurable:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性,默认值为true。
  • .enumerable:表示能否通过for in循环访问属性,默认值为true
  • writable:表示能否修改属性的值。默认值为true。
  • value:包含这个属性的数据值。默认值为undefined。

访问器属性

  • get:读取属性的值的函数。
  • .set:设置属性的值时的函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值