对象篇
模块化编程-自研模块加载器
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
var arr = [];
arr[-1] = ‘a’;
arr[Math.pow(2, 32)] = ‘b’;
arr.length // 0
arr[-1] // “a”
arr[4294967296] // “b”
=======================================================================
当数组中某个位置为空元素,即两个逗号之间没有任何值,则数组存在空位(hole)。
-
若最后一个元素后面有逗号,则并不会产生空位。
-
由上一节易知:数组的空位不影响
length
属性。 -
数组的空位是可以读取的,返回值为
undefined
。 -
使用
delete
命令删除一个数组成员,会形成空位,并且不会影响length
属性。 -
数组的某个位置是空位与某个位置是
undefined
是不一样的,若是空位,则使用数组的forEach()方法、for…in结构、Object.keys()方法进行遍历,空位都会被跳过;若为undefined
(这个位置的值就是undefined
),则遍历时不会被跳过(这不废话嘛🤣)。
=======================================================================
检查某个键名是否存在的运算符in
,适用于对象,也适用于数组。
注意:
-
若数组的某个成员为
空位
(上面2小节有提到),则in运算符会返回false
; -
若键名大于数组的
length
属性值,也会返回false
。
测试如下:
var arr = [];
arr[100] = ‘a’;
100 in arr // true
1 in arr // false
120 in arr // false
=========================================================================
-
for...in
循环 -
for
循环 -
while
循环 -
数组的
forEach()
方法
由于for...in
循环不仅会遍历所有的数字键,还会遍历非数字键,因此,推荐使用for
循环或while
循环进行数组的遍历。
var a = [1, 2, 3];
// for循环
for(var i = 0; i < a.length; i++) {
console.log(a[i]);
}
// while循环:正向遍历
var i = 0;
while (i < a.length) {
console.log(a[i]);
i++;
}
// while循环:逆向遍历
var l = a.length;
while (l–) {
console.log(a[l]);
}
数组的forEach()
方法使用示例:
框架相关
原生JS虽能实现绝大部分功能,但要么就是过于繁琐,要么就是存在缺陷,故绝大多数开发者都会首选框架开发方案。现阶段较热门是React、Vue两大框架,两者工作原理上存在共通点,也存在一些不同点,对于校招来说,不需要两个框架都学得特别熟,一般面试官会针对你简历中写的框架进行提问。
在框架方面,生命周期、钩子函数、虚拟DOM这些基本知识是必须要掌握的,在学习的过程可以结合框架的官方文档
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
Vue框架
知识要点:
1. vue-cli工程
2. vue核心知识点
3. vue-router
4. vuex
5. http请求
6. UI样式
7. 常用功能
8. MVVM设计模式
React框架
知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由
**
8. MVVM设计模式
[外链图片转存中…(img-CeFYyppE-1714982040944)]
React框架
知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由
[外链图片转存中…(img-6XpBrK3b-1714982040945)]