日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

javascript --- typeof方法和instanceof方法

發布時間:2023/12/10 javascript 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 javascript --- typeof方法和instanceof方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ES5中:
原始類型包括:Number、String、Boolean、Null、Undefined
原始封裝類型包括:Number、String、Boolean
引用類型包括:Array、Function、RegExp、Error、Date、Error

變量對象
原始類型的實例成為原始值,它直接保存在變量對象中.
引用類型的實例成為引用值,它作為一個指針保存在變量對象內,該指針指向實際對象在內存中的存儲位置.

檢測方法
原始類型使用:typeof方法
引用類型使用:instanceof方法,(Array使用Array.isArray())

// 原始類型 console.log(typeof "Nicholas"); // "string" // 引用類型 var s = {} ; console.log(s instanceof Object); // true= // 數組檢測 var arr = []; console.log(Array.isArray(arr)); // true

原始封裝類型的特點
在賦值時會自動創建實例,并立即銷毀

var name = "Nicholas"; var firstChar = name.charAt(0); console.log(firstChar); // javascript引擎執行 var name = "Nicholas"; var temp = new String(name); // 自動創建實例 var firstChar = temp.charAt(0); temp = null; // 銷毀 console.log(firstChar);// 使用instanceof操作符檢測不出. console.log(name instanceof String); // false

內部屬性[[Class]]

// 檢測引用類型除了使用instanceof之外,還可以使用Object.prototype.toString來查看 console.log(Object.prototype.toString.call([1,2,3])); console.log(Object.prototype.toString.call( /regex-literal/i )); console.log(Object.prototype.toString.call(null)); console.log(Object.prototype.toString.call(undefined)); console.log(Object.prototype.toString.call("abc")); console.log(Object.prototype.toString.call(42)); console.log(Object.prototype.toString.call(true));


書上原話:所有typeof返回值為"object"的對象都包含一個內部屬性[[Class]].這個屬性無法直接訪問,一般通過Object.prototype.toString來查看

參考《JavaScript面向對象精要》第一章
參考《你不知道的JavaScript》P34~P35

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的javascript --- typeof方法和instanceof方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。