重学前端系列之JavaScript(一)

253 阅读1分钟

前端三大件,html、css、javascript,显然JavaScript决定了你未来的技术高度,从基础知识开始,一步步掌握JavaScript这门基础的解释性语言。那么从现在开始,一步步去掌握基础知识。工作中,这些基础知识是很重要的一部分,当然面试的时候,也会重点考核基础知识。JavaScript基础知识是你进入一家公司的敲门砖。很高兴,第一篇基础知识总结就这么开始了,也是记录我学习的过程。

基本数据类型:Number String Boolean undefined null 存储在栈内存中 比如你可以谐音记忆法,基站=>基本数据类型存在栈内存中,简称基站

引用数据类型:Object Arrary Function Date RegExp 存储在堆内存中

任何数据类型+字符串 都是字符串

NaN是 Number类型

console.log(1/0) //infinity 正无穷 
console.log(-1/0) //-infinity 负无穷 
console.log(typefo(1/0)) // Number类型

== 比较值的大小,===比较值和类型。字符串之间的对比,是对比的ASCII码的大小

var bool = NaN == NaN;
console.log(bool) // false NaN与包括自己在内的任何东西都不相等

// 面试题:打印100以内的数
var i = 100
for(;i--;){
console.log(i)
}

类型转换:undefind NaN null "" 0 false,其他为true typeof结果均为false 可作为判断条件 特殊情况:

console.log(undefined == null) // true
console.log(undefined === null) // false
console.log(isNaN('123')) // false
console.log(isNaN(NaN)) // true
console.log(isNaN('a')) // false
console.log(isNaN(null)) // false
console.log(isNaN(undefined)) // true 隐式转换为NaN了

斐波那契大数列,又叫黄金分割数列、兔子数列 1 1 2 3 5 8 13

// 最简单且好理解的方式,使用递归
function feibo(n){
    if(n<= 1) return 1
    return feibo(n-1)+feibo(n-2)
}