总结
- 对于框架原理只能说个大概,真的深入某一部分具体的代码和实现方式就只能写出一个框架,许多细节注意不到。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
算法方面还是很薄弱,好在面试官都很和蔼可亲,擅长发现人的美哈哈哈…(最好多刷一刷,不然影响你的工资和成功率???)
-
在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。
-
要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!
第一次跳槽十分忐忑不安,和没毕业的时候开始找工作是一样的感受,真的要相信自己,有条不紊的进行。如果有我能帮忙的地方欢迎随时找我,比如简历修改、内推、最起码,可以把烦心事说一说,人嘛都会有苦恼的~
祝大家都有美好的未来,拿下满意的 offer。
-
typeof能判断哪些类型?
-
何时使用=== 何时使用==?
-
值类型和引用类型的区别?
-
手写深拷贝
一、JS基础
1. 值类型与引用类型
值类型 | 引用类型 |
let a = 100 let b = a a = 200 Console.log(b) // 100 | let a = { age: 20 } let b = a b.age = 21 Console.log(a.age) // 21 |
堆栈分析:(栈是从上往下,堆是从下往上)
值类型
引用类型:
常见的值类型:number 、undefined、string、boolean、symbol
常见引用类型:object、array 特殊引用类型:null、fu()函数
2. typeof运算符
// 判断所有值类型 Let a; typeof a // ‘undefined’ const str = ‘abc’; typeof str // ‘string’ const n = 100; typeof n // ‘number’ const b = true; typeof b // ‘boolean’ const s = Symbol( ‘ s ‘); typeof s // ‘symbol’ |
// 能判断函数 typeof console.log // ‘function’ typeof function() {} // ‘function’ |
// 能识别引用类型(不能再继续识别) typeof null // ‘object’ typeof [‘a’, ‘b’] // ’object’ typeof { x: 100 } // ‘object’ |
3. 深拷贝
浅复制
const obj1 = {
age: 20,
name: ‘xxx’,
address: {
city: ‘beijing’
}
}
const obj2 = obj1
obj2.address.city = ‘shanghai’
console.log(obj1.address.city) // shanghai
深复制
const obj1 = {
age: 20,
name: ‘xxx’,
address: {
city: ‘beijing’
},
arr: [‘a’, ‘b’, ‘c’]
}
const obj2 = deepClone(obj1)
obj2.address.city = ‘shanghai’
obj2.arr[0] = ‘a1’
console.log(obj1.address.city) // beijing
console.log(obj1.arr[0]) // a
/**
* 深拷贝
* @param {Object} obj 要拷贝的对象
*/
function deepClone(obj = {}) {
if (typeof obj !== ‘object’ || obj == null) {
// obj 是 null ,或者不是对象和数组,直接返回
return obj
}
// 初始化返回结果
let result
if (obj instanceof Array) { // 判断是否为数组
result = []
} else {
result = {}
}
for (let key in obj) {
// 保证 key 不是原型的属性
if (obj.hasOwnProperty(key)) {
// 递归调用!!!
result[key] = deepClone(obj[key])
}
}
// 返回结果
return result
}
二、变量计算与类型转换
1. 字符串拼接
const a = 100 + 10 // 110 可以使用100 + parseInt(‘10’)
const b = 100 + ‘10’ // 10010
const c = true + ‘10’ // true10
const d = 100 + parseInt(‘10’) // 110
2. 和=
100 == ‘100’ // true
0 == ‘’ // true
0 == false // true
false == ‘’ // true
null == undeined // true
(==尽量尝试让他们变成相等)
总结
- 对于框架原理只能说个大概,真的深入某一部分具体的代码和实现方式就只能写出一个框架,许多细节注意不到。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
算法方面还是很薄弱,好在面试官都很和蔼可亲,擅长发现人的美哈哈哈…(最好多刷一刷,不然影响你的工资和成功率???)
-
在投递简历之前,最好通过各种渠道找到公司内部的人,先提前了解业务,也可以帮助后期优秀 offer 的决策。
-
要勇于说不,对于某些 offer 待遇不满意、业务不喜欢,应该相信自己,不要因为当下没有更好的 offer 而投降,一份工作短则一年长则 N 年,为了幸福生活要慎重选择!!!
第一次跳槽十分忐忑不安,和没毕业的时候开始找工作是一样的感受,真的要相信自己,有条不紊的进行。如果有我能帮忙的地方欢迎随时找我,比如简历修改、内推、最起码,可以把烦心事说一说,人嘛都会有苦恼的~
祝大家都有美好的未来,拿下满意的 offer。