摘要:類型的實例首先要理解的含義是例子的意思,實際上是判斷是否是的一個實例。
數據類型深入理解 數據類型分類 基本(值)類型(5種)
String:任意字符串
Number:任意的數字
boolean:true/false
null:null
undefined:undefined
對象(引用)類型(3種)Object:任意對象
Array:一種特別的對象(數值下標,內部數據是有序的)
Function:一種特別的對象(可以執行)
數據類型判斷(3種方式) typeof :返回數據類型的字符串表達var a console.log(a) // undefined console.log(typeof a) // "undefined" console.log(a === undefined) // true console.log(typeof a === undefined) // false console.log(typeof a === "undefined") // true console.log(undefined === "undefined") // false a = 4 console.log(typeof a) // "number" console.log(typeof a === Number) // false console.log(typeof a === "number") // true a = "hahha" console.log(typeof a) // "string" a = false console.log(typeof a) // "boolean" a = null console.log(typeof a) // object console.log(a === null) // true
注意:typeof返回的是數據類型的字符串表達形式。
typeof true //"boolean" typeof "hahha" //"string" typeof 12 //"number" typeof null //"object" typeof ccc //"undefined" typeof function(){} //"function" typeof {} //"object"instanceof:類型的實例
首先要理解instanceof的含義:
instance 是例子的意思,A instanceof B 實際上是判斷A是否是B的一個實例。理解了這一點,就不難判斷類型了。
var b1 = { b2: [1, "hehe", console.log], b3: function () { console.log("b3") return function () { return "Mandy" } } } console.log(b1 instanceof Object) // true console.log(b1.b2 instanceof Array, b1.b2 instanceof Object) // true true console.log(b1.b3 instanceof Function, b1.b3 instanceof Object) //true true console.log(typeof b1.b2) // "object" console.log(typeof b1.b3) // "function" console.log(typeof b1.b2[1]) // "string" console.log(typeof b1.b2[2]) // "function" b1.b2[2](555) // 555 console.log(b1.b3()()) // "b3" "Mandy"
注意:
函數既是 Function 類型,也是 Object 類型
數組既是 Array 類型,也是 Object 類型
===可以判斷undefined 和 null
ccc === "undefined" // true null === null // true總結
typeof :
可以判斷 undefined / 數值 / 字符串 / 布爾值 / function
不能判斷 null 與 object, array 與 object
typeof null // "object" typeof [] // "object"
instanceof:
判斷對象的具體類型
A instanceof B
===:
可以判斷 undefined , null
undefined 與 null 的區別?undefined 代表定義了,未賦值
null 代表定義了,并且賦值了,只是賦的值為 null
// undefined與null的區別? var a console.log(a) // undefined a = null console.log(a) // null什么時候給變量賦值為null?
初始賦值,表明將要賦值為對象。因為 typeof null === "Object"
結束前,讓對象成為垃圾對象(被垃圾回收器回收)
//起始 var b = null // 初始賦值為null, 表明將要賦值為對象 //確定對象就賦值 b = ["atguigu", 12] //最后 b = null // 讓b指向的對象成為垃圾對象(被垃圾回收器回收)嚴格區別變量類型 與 數據類型?
數據的類型:
基本類型
對象類型
變量的類型(變量內存值的類型)
基本(值)類型:保存的就是基本類型的數據
引用類型:保存的是地址值
理解實例 與 類型// 實例: 實例對象 // 類型: 類型對象 function Person (name, age) {// 構造函數 類型 this.name = name this.age = age } var p = new Person("tom", 12) // 根據類型創建的實例對象
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/104058.html
摘要:設計模式是以面向對象編程為基礎的,的面向對象編程和傳統的的面向對象編程有些差別,這讓我一開始接觸的時候感到十分痛苦,但是這只能靠自己慢慢積累慢慢思考。想繼續了解設計模式必須要先搞懂面向對象編程,否則只會讓你自己更痛苦。 JavaScript 中的構造函數 學習總結。知識只有分享才有存在的意義。 是時候替換你的 for 循環大法了~ 《小分享》JavaScript中數組的那些迭代方法~ ...
摘要:的翻譯文檔由的維護很多人說,阮老師已經有一本關于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復雜性。 JavaScript Promise 迷你書(中文版) 超詳細介紹promise的gitbook,看完再不會promise...... 本書的目的是以目前還在制定中的ECMASc...
摘要:引用類型參數的傳遞與引用類型的復制一樣,傳遞的是內存地址。指向一個新的地址,與不再指向同一個地址官方解釋來一發中所有函數的參數都是按值傳遞的。總結很簡單,函數參數都是按值傳遞都是棧內數據的拷貝。 基本類型與引用類型 值類型(基本類型):String,Number,Boolean,Null,Undefined。 引用類型:Array、Object、Function、Date等有多個值...
閱讀 3548·2021-08-31 09:39
閱讀 1854·2019-08-30 13:14
閱讀 2919·2019-08-30 13:02
閱讀 2769·2019-08-29 13:22
閱讀 2341·2019-08-26 13:54
閱讀 767·2019-08-26 13:45
閱讀 1586·2019-08-26 11:00
閱讀 982·2019-08-26 10:58