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

歡迎訪問 生活随笔!

生活随笔

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

javascript

java script数据类型_javascript 六种数据类型

發布時間:2023/12/10 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java script数据类型_javascript 六种数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

js的數據類型和常見隱式轉化邏輯。

一、六種數據類型

原始類型(基本類型):按值訪問,可以操作保存在變量中實際的值。原始類型匯總中null和undefined比較特殊。

引用類型:引用類型的值是保存在內存中的對象。

* 與其他語言不同的是,JavaScript不允許直接訪問內存中的位置,也就是說不能直接操作對象的內存空間。在操作對象時,實際上是在操作對象的引用而不是實際的對象。所以引用類型的值是按引用訪問的。

二、隱式轉換

1、+和-

巧用+和-規則轉換類型

把變量轉換成數字:num-0;

把變量轉換成字符串:num+'';

2、a==b

類型相同,同===

類型不同,嘗試類型轉換和比較:

3、a===b

類型不同,返回false

類型相同:

三、包裝對象

基本類型中的number,string和boolean都有對應的包裝類型。

把一個基本類型嘗試用對象的方式使用它的時候,比如訪問length屬性,或者增加一些屬性的操作時,javascript會把這些基本類型轉化為對應的包裝類型對象。完成這樣一個訪問比如a.length返回以后或者a.t設置了以后,這個臨時對象會被銷毀掉。所以a.t賦值3了以后,再去輸出a.t值是undefined。

str,number和true都有包裝類型,所以可以把數字用括號括起來調用toString()方法

四、類型檢測

javascript中類型檢測方法有很多:

typeof

instanceof

Object.prototype.toString

constructor

duck type

1、typeof

最常見的就是typeof:

比較特殊的是typeof null返回“object”。

歷史原因,規范嘗試修改typeof null返回“null”修改完大量網站無法訪問,為了兼容,或者說歷史原因返回"object"。

typeof對基本類型和函數對象很方便,但是其他類型就沒辦法了。

判斷一個對象是不是數組?用typeof返回“object”。對對象的判斷常用instanceof。

2、instanceof

基于原型鏈操作。obj?instanceof?Object。

左操作數為對象,不是就返回false,右操作數必須是函數對象或者函數構造器,不是就返回typeError異常。

原理:判斷左邊的左操作數的對象的原型鏈上是否有右邊這個構造函數的prototype屬性。

任何一個構造函數都有一個prototype對象屬性,這個對象屬性將用作new出來的對象的原型。

bosn instanceof Person的時候發現bosn的原型也就是Student.prototype不等于Person.prototype,所以原型鏈還會向上查找,bosn的原型的原型等于Person.prototype所以返回true。

instanceof在判斷對象是不是數組,Data,正則等時很好用。

instanceof坑:不同window或iframe之間的對象類型檢測不能使用instanceof!

3、Object.prototype.toString

需要注意的是IE6/7/8中 Object.prototype.toString.apply(null)返回“[object Object]”。

4、constructor

任何對象都有constructor屬性,繼承自原型的,constructor會指向構造這個對象的構造器或者構造函數。

constructor可以被改寫,所以使用要小心。

5、duck type

比如不知道一個對象是不是數組,可以判斷它的length是不是數字,它是不是有join,push這樣一些數組的方法。通過一些特征判斷對象是否屬于某些類型,這個有時候也常用。

總結:

6、如何檢測一個變量是字符串

有另外一種方法:將變量和空字符拼接后再和原來變量做全等判斷

var str="hello";

var temp=str+'';

temp===str

//true

總結

以上是生活随笔為你收集整理的java script数据类型_javascript 六种数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

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