前端面试题汇总
JavaScript
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
性能
linux
前端资料汇总
项目中各个业务的路由可以充分解耦,路由文件后缀名为xxx.routers.js即可,主路由文件会自动化导入新增的各业务路由文件。
Vue的响应式是利用了数据劫持实现的,知道这个就很简单了。
这里写一个简易的,面试的时候大致说出思路即可,后续更新一个完整的MVVM框架,感兴趣的同学可以关注一下~
第一步:建立订阅器模型
// 订阅器模型
var Dep = {
clientList: {},
listen: function (key, fn) {
if (!this.clientList[key]) {
this.clientList[key] = [];
}
this.clientList[key].push(fn);
},
trigger: function () {
var key = Array.prototype.shift.call(arguments),
fns = this.clientList[key];
if (!fns || fns.length === 0) {
return false;
}
for (var i = 0, fn; fn = fns[i++]😉 {
fn.apply(this, arguments);
}
}
};
第二步:设置劫持方法,对数据进行劫持
// 劫持方法
var dataHijack = function ({ data, tag, datakey, selector }) {
var value = ‘’,
el = document.querySelector(selector);
// 数据劫持
Object.defineProperty(data, datakey, {
get: function () {
console.log(‘我获取到值了’);
return value;
},
set: function (newValue) {
console.log(‘我设置到值了’);
value = newValue;
Dep.trigger(tag, newValue);
}
});
// 绑定观察者
Dep.listen(tag, function (text) {
el.innerHTML = text;
});
}
第三步:调用
订阅视图-1:
订阅视图-2:
有意思的也是精华部分是:当你在控制台修改数值,网页内的视图也会跟着更改,如下:
简单两步就搞定了。实际上,这些问题并不是很难,那么很多同学为什么不知道呢?
一是没有去了解Vue的源码以及底层实现。
最后
技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。
频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。
[外链图片转存中…(img-WTPqUs03-1714999789836)]