模范爸爸|「干货满满」1.5w字初中级前端面试复习总结
前言金九银十 , 又是一波跑路 。 趁着有空把前端基础和面试相关的知识点都系统的学习一遍 , 参考一些权威的书籍和优秀的文章 , 最后加上自己的一些理解 , 总结出来这篇文章 。 适合复习和准备面试的同学 , 其中的知识点包括:
- JavsScript
- 设计模式
- Vue
- 模块化
- 浏览器
- HTTP
- 前端安全
堆、栈两者都是存放数据的地方 。
栈(stack)是自动分配的内存空间 , 它存放基本类型的值和引用类型的内存地址 。
堆(heap)是动态分配的内存空间 , 它存放引用类型的值 。
JavaScript 不允许直接操作堆空间的对象 , 在操作对象时 , 实际操作是对象的引用 , 而存放在栈空间中的内存地址就起到指向的作用 , 通过内存地址找到堆空间中的对应引用类型的值 。
隐式类型转换JavaScript 作为一个弱类型语言 , 因使用灵活的原因 , 在一些场景中会对类型进行自动转换 。
常见隐式类型转换场景有3种:运算、取反、比较
运算运算的隐式类型转换会将运算的成员转换为 number 类型 。
基本类型转换:
true + false// 1null + 10// 10false + 20// 20undefined + 30 // NaN1 + '2'// "12"NaN + ''// "NaN"undefined + '' // "undefined"null + ''// "null"'' - 3// -3
- null、false、'' 转换 number 类型都是 0
- undefined 转换 number 类型是 NaN , 所以 undefined 和其他基本类型运算都会输出 NaN
- 字符串在加法运算(其实是字符串拼接)中很强势 , 和任何类型相加都会输出字符串(symbol除外) , 即使是 NaN、undefined 。 其他运算则正常转为 number 进行运算 。
[1] + 10// "110"[] + 20// "20"[1,2] + 20// "1,220"[20] - 10// 10[1,2] - 10// NaN({}) + 10// "[object Object]10"({}) - 10// NaN
- 引用类型运算时 , 会默认调用 toString 先转换为 string
- 同上结论 , 除了加法都会输出字符串外 , 其他情况都是先转 string 再转 number
[1,2] + 20// 过程:[1,2].toString() // '1,2''1,2' + 20// '1,220'[20] - 10// 过程[20].toString()// '20'Number('20')// 2020 - 10// 10
取反取反的隐式类型转换会将运算的成员转换为 boolean 类型 。这个隐式类型转换比较简单 , 就是将值转为布尔值再取反:
![]// false!{}// false!false// true
通常为了快速获得一个值的布尔值类型 , 可以取反两次:!![]// true!!0// false
比较比较分为 严格比较=== 和 非严格比较== , 由于 === 会比较类型 , 不会进行类型转换 。 这里只讨论 == 。比较的隐式类型转换基本会将运算的成员转换为 number 类型 。
undefined == null// true'' == 0// truetrue == 1// true'1' == true// true[1] == '1'// true[1,2] == '1,2'// true({}) == '[object Object]' // true
- undefined 等于 null
- 字符串、布尔值、null比较时 , 都会转 number
- 引用类型在隐式转换时会先转成 string 比较 , 如果不相等然再转成 number 比较
预编译过程:
- 创建GO/AO对象(GO是全局对象 , AO是活动对象)
- 将形参和变量声明赋值为 undefined
- 实参形参相统一
- 函数声明提升(将变量赋值为函数体)
推荐阅读
- 小机灵鬼|干货速来!透彻剖析微服务架构设计模式,深入开发Java有奇效
- 钱江晚报|小学生给天上的爸爸写信:我为有这样的爸爸感到自豪,如果你在该有多好啊
- 美容|蒋依依分享护肤干货,网友纷纷不理解:20岁不到就要抗衰老了?
- ZAKER生活|没想到她爸爸是厨师,在TVB有熟人,本以为今年港姐冠军家世普通
- 360kuai|那遭殃的肯定是孩子,搞笑GIF:如果你家有一个熊爸爸
- 跳空缺口|干货:A股经典缺口理论,看懂炒股事半功倍!
- 宝宝红屁股咋办?爱得利高能干货来支招~
- 向太否认郭碧婷已生女|捕风捉影!向太否认郭碧婷已生女 郭碧婷爸爸美食招待向佐
- 掌握珍爱APP里的脱单干货,你也可以成为平平无奇的恋爱小天才
- 新鲜事儿|轩轩诺一成男神,夏天模样大变让人认不出!,爸爸去哪儿五年前vs后