前端学习总结
最近发现现在太依赖于IDE及框架类库等前端工具;基础知识忘得差不多了所以想开始写博客总结一下自己的知识及面试经验;如果有哪里写得不对的地方,欢迎大家指教讨论,一起进步。
一,js的数据类型与变量类型;(前端面试高频出现,极其重要!)
想要把js学好,首先要深入的去了解js;那么在有js语法基础的情况下要怎么去深入了解js呢,我认为先从了解js的类型开始,有了js数据类型和变量类型的基础才好去了解js的内存指针指向问题,深拷贝浅拷贝问题等等;
说起js的数据类型,相信学习过js的新老童鞋都知道【字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、Null、Undefined】这几种类型;
怎么判断js的数据类型呢?我们需要通过【typeof】操作符来进行判断;
typeof '123 ’ // “string”
typeof 123 // “number”
typeof true // “boolean”
typeof [1,2,3] // “object”
typeof {a:123} // “object”
typeof null // “object”
typeof undefined // “undefined”
typeof Function // “function”
大家可以看出,其中数组,对象和Null是判断不出来的,那么要怎么判断呢?就要使用【instanceof 】运算符;
[1,2,3] instanceof Array // true
var a = {a:123}
a instanceof Object // true
特别注意,这里null是个例外,null就是null,它代表一个空的意思。它虽然使用typeof返回Object但是null == Object // false
再说说变量类型,说起变量类型可能有很多新童鞋不知道;js的变量类型分类【值类型】和【引用类型】
(1)值类型:字符串(String)、数字(Number)、布尔值(Boolean)、Null、Undefined
(2)引用类型:对象(Object)、数组(Array)、函数(Function)
他们有什么区别呢?有!下一篇写一下原型和原型链,在下一篇博客中叙述。