let obj = {}
let input = document.getElementById('input')
let span = document.getElementById('span')
// 数据劫持
Object.defineProperty(obj, 'text', {
configurable: true,
enumerable: true,
get() {
console.log('获取数据了')
},
set(newVal) {
console.log('数据更新了')
input.value = newVal
span.innerHTML = newVal
}
})
// 输入监听
input.addEventListener('keyup', function(e) {
obj.text = e.target.value
})
从基础到进阶,测试你有多了解 JavaScript原理,刷新你的知识,或者帮助你的 coding 面试!先不要点开答案,先思考,然后自己再参考答案,最好可以敲一遍代码,掌握的更牢固。
答案在问题下方的折叠部分,点击即可展开问题。祝你好运 ❤️
1、实现一个call函数
答案
2、实现一个apply函数
答案
3、实现一个bind函数
答案
4、instanceof的原理
答案
5、Object.create的基本实现原理
答案
6、new本质
答案
7、实现一个基本的Promise
答案
8、实现浅拷贝
答案
9、实现一个基本的深拷贝
答案
10、使用setTimeout模拟setInterval
答案
11、js实现一个继承方法// 借用构造函数继承实例属性
答案
12、实现一个基本的Event Bus
答案
13、实现一个双向数据绑定
答案
14、实现一个简单路由
答案
15、如何实现图片懒加载?
答案
16、rem实现原理
答案
17、手写实现AJAX
答案
18、实现拖拽
答案
19、实现一个节流函数
答案
20、实现一个防抖函数
答案
内容来源掘金
原文链接