成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網(wǎng)
最全最豐富的資訊網(wǎng)站

javascript的引用數(shù)據(jù)類型是什么

在javascript中,引用數(shù)據(jù)類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)據(jù)和功能組織在一起;它也常被稱為類。引用類型的值是保存在內(nèi)存中的對象(同時保存在棧內(nèi)存和堆內(nèi)存中);引用類型的值是按引用訪問的。

javascript的引用數(shù)據(jù)類型是什么

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

數(shù)據(jù)類型指的是可以在程序中存儲和操作的值的類型,每種編程語言都有其支持的數(shù)據(jù)類型,不同的數(shù)據(jù)類型用來存儲不同的數(shù)據(jù),例如文本、數(shù)值、圖像等。

JavaScript 中的數(shù)據(jù)類型可以分為兩種類型:

  • 基本數(shù)據(jù)類型(值類型):字符串(String)、數(shù)字(Number)、布爾(Boolean)、空(Null)、未定義(Undefined)、Symbol;

  • 引用數(shù)據(jù)類型:對象(Object)、數(shù)組(Array)、函數(shù)(Function)。

JavaScript引用數(shù)據(jù)類型

引用類型

在ECMAScript中,引用類型是一種數(shù)據(jù)結(jié)構(gòu),用于將數(shù)據(jù)和功能組織在一起(它也常被稱為類)。

引用類型的值是保存在內(nèi)存中的對象(同時保存在棧內(nèi)存和堆內(nèi)存中)。JavaScript 不允許直接訪問內(nèi)存中的位置,因此在操作對象時,實(shí)際上是操作的對象的引用而不是實(shí)際的對象。引用類型的值按引用訪問。

Object類型

創(chuàng)建Object實(shí)例的方式有兩種。第一種是使用new操作符后跟Object構(gòu)造函數(shù),例如;

var person = new Object();  person.name = "Nicholas";  person.age = 29;

另一種方式是使用對象字面量表示法。 例如:

var person = {  name : "Nicholas",  age ; 29  }

注意:在通過對象字面量定義對象時,實(shí)際上不會調(diào)用Object構(gòu)造函數(shù)。

Array類型

創(chuàng)建數(shù)組的基本方式有兩種。第一種是使用Array構(gòu)造函數(shù),例如:

var colors = new Array();

第二種基本方式是使用數(shù)組字面量表示法。數(shù)組字面量由一對包含數(shù)組項(xiàng)的方括號表示,多個數(shù)組項(xiàng)之間以逗號隔開,例如:

var colors = ["red","blue","green"];

檢測數(shù)組

instanceof操作符假定只有一個全局執(zhí)行環(huán)境。為了解決只個問題,ECMAScript 5新增了Array.isArray()方法。這個方法的目的是最終確定某個值到底是不是數(shù)組,而不管它是在哪個全局執(zhí)行環(huán)境中創(chuàng)建的。

轉(zhuǎn)換方法

toLocaleString()、toString()和valueOf()方法

所有對象都具有toLocaeString()、toString()和valueOf()方法。
調(diào)用數(shù)組的toString()方法會返回以逗號分隔的字符串;
調(diào)用toLocaleString( )和toString()一樣,但是該字符串與執(zhí)行環(huán)境的地區(qū)對應(yīng);
調(diào)用valueOf()返回的還是數(shù)組。

join()方法

join()方法只接受一個參數(shù),即用作分隔符的字符串,然后返回包含所有數(shù)組項(xiàng)的字符串。

棧方法(后進(jìn)先出)

ECMAScript為數(shù)組專門提供了push()和pop()方法,以便實(shí)現(xiàn)類似棧的行為。push()方法可以接受任意數(shù)量的參數(shù),把他們逐個添加到數(shù)組末尾,并返回修改后數(shù)組的長度。pop()方法則從數(shù)組末尾一處最后一項(xiàng),減少數(shù)組的length值,然后返回移除的項(xiàng)。

隊(duì)列方法(先進(jìn)先出)

shift()能夠移除數(shù)組中的第一項(xiàng)并返回該項(xiàng),同時將數(shù)組長度減一。結(jié)合使用shift()和push()方法,可以像使用隊(duì)列一樣使用數(shù)組。
ECMAScript還為數(shù)組提供了一個unshift()方法。顧名思義,unshift()與shift()的用途相反:它能在數(shù)組前端添加任意個項(xiàng)并返回新數(shù)組的長度。

重排序方法

reverse()方法會反轉(zhuǎn)數(shù)組項(xiàng)的順序。
在默認(rèn)情況下,sort()方法按升序排列數(shù)組項(xiàng)——即最小的值位于最前面,最大的值排在最后面。為了實(shí)現(xiàn)排序,sort()方法會地哦啊用每個數(shù)組項(xiàng)的toString()轉(zhuǎn)型方法,然后比較得到的字符串,以確定如何排序。這種排序方式在很多情況下都不是最佳方案,因此sort()方法可以接收一個比較函數(shù)作為參數(shù),以便制定哪個值位于哪個值的前面。

reverse()和sort()方法的返回值是經(jīng)過排序之后的數(shù)組

操作方法

concat()方法可以基于當(dāng)前數(shù)組中的所有項(xiàng)創(chuàng)建一個新數(shù)組。
slice()方法能夠基于當(dāng)前數(shù)組中的一或多個項(xiàng)創(chuàng)建一個新數(shù)組。slice()方法可以接受一或者兩個參數(shù),即要返回項(xiàng)的起始和結(jié)束位置。(不會改變原數(shù)組)
splice()方法主要是向數(shù)組的中部插入值。(刪除、插入、替換)該方法改變原數(shù)組的值。

位置方法

ECMAScript為數(shù)組實(shí)例添加了兩個位置方法:indexOf()和lastindexOf()這兩個方法都返回要查找的項(xiàng)在數(shù)組中的位置,或者在沒有找到的情況下返回-1。這兩個方法都接受兩個參數(shù):要查找的項(xiàng)和表示查找起點(diǎn)位置的索引(可選的)。

迭代方法

ECMAScript為數(shù)組定義了五個迭代方法:

every():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對每一項(xiàng)都返回 true,則返回 true。
filter():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)會返回 true 的項(xiàng)組成的數(shù)組。
forEach():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù)。這個方法沒有返回值。
map():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組。
some():對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對任一項(xiàng)返回 true,則返回 true。

歸并方法

ECMAScript 5 還新增了兩個歸并數(shù)組的方法:reduce()和 reduceRight()。這兩個方法都會迭代數(shù)組的所有項(xiàng),然后構(gòu)建一個最終返回的值。
使用 reduce()和reduceRight()方法可以執(zhí)行求數(shù)組中所有值之和的操作,比如:
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
return prev + cur;
});
alert(sum); //15

Date類型

創(chuàng)建日期對象,使用new操作符和Date構(gòu)造函數(shù)即可:
var now = new Date();
在調(diào)用Date構(gòu)造函數(shù)而不傳遞參數(shù)的情況下,新創(chuàng)建的對象自動獲得當(dāng)前日期和時間。 為了可以接受表示日期的字符串參數(shù),ECMAScript提供了兩個方法:Date.parse()和Date.UTC()。
ECMAScript添加了Date.now()方法,返回表示調(diào)用這個方法時的日期和時間的毫秒數(shù)。

繼承的方法

Date類型也重寫了toLocaleString()、toString()和valueOf()方法。
toLocaleString()方法會按照與瀏覽器相適應(yīng)的格式返回日期與時間,而toString()方法則通常返回帶有時區(qū)信息的日期和時間。至于valueOf()方法,則根本不返回字符串,而是返回日期的毫秒表示。

Function類型

函數(shù)實(shí)際上是對象,函數(shù)名實(shí)際上也是一個指向函數(shù)對象的指針,不會與某個函數(shù)綁定。每個函數(shù)都是Function類型的實(shí)例,而且都與其他引用類型一樣具有屬性和方法。
函數(shù)通常是使用函數(shù)聲明語法定義的:(函數(shù)聲明提升)

function sum (sum1,sum2) {  return sum1 + sum2;  }

還有一種方式,使用函數(shù)表達(dá)式定義函數(shù):

var sum = function(sum1,sum2) {  return sum1 +sum2 ;  };

注意:要訪問函數(shù)指針而不執(zhí)行函數(shù)的話,必須去掉函數(shù)名后面的圓括號。

函數(shù)內(nèi)部屬性

在函數(shù)內(nèi)部,有兩個特殊的對象:arguments和this。arguments是一個類數(shù)組對象,包含著傳入函數(shù)中的所有參數(shù)。該對象有一個屬性,該屬性有一個指針,指向擁有這個arguments對象的函數(shù)。this引用的是函數(shù)據(jù)以執(zhí)行的環(huán)境對象。(當(dāng)在網(wǎng)頁的全局作用域中調(diào)用函數(shù)時,this對象引用的就是window)

函數(shù)屬性和方法

屬性

每個函數(shù)都包含兩個屬性:length和prototype。
length屬性表示函數(shù)希望接收的命名參數(shù)的個數(shù)。
對于ECMAScript中的引用類型而言,prototype是保存它們所有實(shí)例方法的真正所在。prototype屬性是不可枚舉的,所以使用for-in無效。

方法

每個函數(shù)都包含兩個非繼承而來的方法:apply()和call()
這兩個方法的用途都是在特定的作用域中調(diào)用函數(shù),實(shí)際上等于設(shè)置函數(shù)體內(nèi)this對象的值。作用實(shí)例:1.傳遞參數(shù) 2.擴(kuò)充函數(shù)賴以運(yùn)行的作用域
EAMAScript還定義了一個方法:bind()
這個方法會創(chuàng)建一個函數(shù)的實(shí)例,其this值會被綁定到傳給bind()函數(shù)的值。
每個函數(shù)繼承的toLocaleString()、toString()和valueOf()方法始終都返回函數(shù)的代碼。

對象

對象是某個特定引用類型的實(shí)例。新對象是使用new操作符后跟一個構(gòu)造函數(shù)來創(chuàng)建的。

new

new運(yùn)算符的作用是創(chuàng)建一個對象實(shí)例。這個對象可以是用戶自定義的,也可以是帶構(gòu)造函數(shù)的一些系統(tǒng)自帶的對象。如果 new 表達(dá)式之后的構(gòu)造函數(shù)返回的不是JavaScript內(nèi)置的引用對象(Object,String等)new會創(chuàng)建一個匿名對象并返回;如果是內(nèi)置引用對象或者原始類型就會覆蓋匿名對象。(無 return 時其實(shí)為 return 原始類型 undefined)

構(gòu)造函數(shù)

構(gòu)造函數(shù)本身就是一個函數(shù),只不過該函數(shù)是出于創(chuàng)建新對象的目的而定義的。

JavaScript中object和Object的區(qū)別

object

使用typeof檢測數(shù)據(jù)類型的時候,只要檢查的變量是一個對象,或者是null,那么它就會返回object。

Object

Object 是 JavaScript 中一個重要的對象,其它對象都是基于它的,包括你創(chuàng)建的函數(shù)。

typeof 操作符和 instanceof 操作符的區(qū)別

確定一個值是哪種基本類型可以使用 typeof操作符,而確定一個值是哪種引用類型可以使用instanceof操作符。

function和Function

ECMAScript 的Function實(shí)際上就是一個功能完整的對象。而function這個關(guān)鍵字是用來創(chuàng)建所有對象的構(gòu)造函數(shù)或者使用關(guān)鍵字來定義普通函數(shù)的類和對象,var a=new function(){}實(shí)際上是用構(gòu)造函數(shù)的方法創(chuàng)建了一個匿名對象的實(shí)例,而并不是系統(tǒng)內(nèi)置對象Function的實(shí)例。所以a instanceof Function返回false,typeof返回"object"。

什么時候typeof返回"function"呢?

function a (){ }  //undefined  typeof a  //"function"

【推薦學(xué)習(xí):javascript高級教程】

贊(0)
分享到: 更多 (0)
?
網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
免费无码一区二区三区| 精品久久久久久无码人妻| 亭亭玉立国色天香四月天| 美女脱精光手不挡图片| 黑人VIDEODESEXO极品| 国产A1A2A3| 宝贝我不想带小雨伞了| 中文在线ずっと好きだった| 亚洲国产精品成人午夜在线观看| 天天摸夜夜添添到高潮水汪汪| 人妻人人做人妻人人添| 男生J桶进女人P又色又爽又黄| 久久99亚洲含羞草影院| 国产偷国产偷精品高清尤物| 粉嫩虎白女流水白浆在线播放| 啊哈~给我~啊(H)| 99国精产品品质溯源网| 制服丝袜另类专区制服| 夜里18款禁用B站入APP软件| 亚洲欧美日韩综合久久久| 亚洲AV不卡无码国产| 无码人妻精品一区二| 天堂中文在线资源| 亚洲AV无码国产剧情| 香蕉成人伊视频在线观看| 无码AⅤ精品一区二区三区浪潮| 色婷婷五月综合激情中文字幕 | 一区二区三区欧美| 亚洲欧美成人一区二区三区| 亚洲国产精品久久久就秋霞| 中文字幕理伦午夜福利片| 正在播放重口老熟女露脸| 被添高潮爱爱免费视频| 宝贝腿开大一点你真湿H| 国产乱人伦AV在线麻豆A| 国产欧美亚洲精品第一页| 国产熟女高潮精品视频区| 久久天天婷婷五月俺也去| 老头的老枪又粗又大| 免费A级毛片无码免费视频1| 末发育娇小性色XXXX| 少妇厨房愉情理伦片免费 | 欧美粗大无套GAY| 欧美金妇欧美乱妇XXXX| 欧美在线一区二区三区| 日本人做暖免费高清视频| 美女自拍高潮流白浆| 色老板精品无码免费视频| 亚洲日本一本DVD高清| 尤物YW午夜国产精品视频| 中国帅气体育生GARY网站| 丰满少妇被猛烈进出69影院| 久久久久精品国产亚洲AV| 美女张开腿黄网站免费| 无码国产精品一区二区免费式芒果 | 亚洲熟妇AV一区二区三区下载| 亚洲中文字幕无码一区无广告| 野花香视频免费观看| 粉嫩粉嫩的18在线免免费观看| 久久久久无码精品亚洲日韩| 男人激烈吮乳吃奶动态图| 人妻丝袜中文无码AV影音先锋专| 色五月丁香五月综合五月亚洲| 无码中文字幕人妻在线一区二区三| 亚洲AV色香蕉一区二区蜜桃小说 | 荒野大镖客暴躁老太太| 久久精品国产999久久久| 蜜桃视频在线观看| 无套内射无矿码免费看黄| 亚洲熟妇色XXXXX成熟| 帝王怀孕肚腹圆隆憋尿| 国产麻豆精品一区| 久久久久久久精品国产亚洲87| 搡BBBB搡BBBB搡BBBB| 中文弹幕日产无线码一区| 国产精品午夜福利不卡| 人妻Av一区二区三区| 无码熟熟妇丰满人妻啪啪| CAOPORN免费公开视频| 国产精品成人99一区无码| 精品久久久无码人妻中文字幕| 搡老女人老妇老熟女hd| 2019NV天堂香蕉在线观看| 哒哒哒WWW在线影院| 国产在线视欧美亚综合| 美女裸体无遮拦国产兔费网站 | 少妇精品无码一区二区三区 | 国产AV天堂亚洲国产AV麻豆| 寂寞骚妇被后入式爆草抓爆| 欧美成人AA久久狼窝五月丁香| 亚洲成在人线AⅤ中文字幕| 97色伦图片97综合影院| 韩国羞耻漫画免费| 偷窥无罪之诱人犯罪| 班级每人C了我半小时班长| 国内精品久久久久久久久齐齐| 毛茸茸的撤尿正面BBW| 熟女内射婷婷直播| 一面膜上边一面膜下边韩国| 国产午夜精品一区二区三区| 欧美 丝袜 自拍 制服 另类| 无码专区永久免费AV网站| 被两个男人按住吃奶好爽| 免费女人18毛片A毛片视频 | 久久AV无码精品人妻系列| 无码中文字幕加勒比一本二本| 荡公乱妇第1章方情95| 欧美性猛交一区二区| 自拍偷自拍亚洲精品播放| 国产精品YY9299在线观看| 日本工口里番全彩色| BGMBGMBGM老太太XX一| 蜜桃av秘 无码一区二区三区| 亚洲欧洲日产V一个人免费观看视频WWW高清| 国产口爆吞精在线视频| 天堂А√资源中文在线地址BT| 粗壮挺进邻居人妻无码| 日产乱码一二三区别免费| 亚洲中文字幕日本无线码| 精品乱码一区内射人妻无码 | 国色天香一卡2卡三卡4卡乱码| 欧美成人精品高清在线观看| 中国少妇内射XXXXⅩHD| 可以C女性角色的游戏手游| 无码AV动漫精品专区| 国产VOYEUR精品偷窥222| 少妇伦子伦精品无吗| 对白脏话肉麻粗话AV| 麻豆国产尤物AV尤物在线观看| 无码人妻精品一区二区三区东京热 | 好爽好紧好大的免费视频国产 | 天堂岛最新版在线BT天堂| 嗯啊开小嫩苞HHH好深男男| 日日噜噜夜夜狠狠久久蜜桃| 曰批视频免费看30分钟| 久久久久亚洲AV无码专区首| 一二三四免费观看在线影视大全 | 国产精品美女久久久久久久| 欧美乱强伦XXXXX高潮| 亚洲少妇XXXXX| 久久久久亚洲AV成人片乱码 | 西西人体大胆4444WWW| 国产亚洲VA综合人人澡精品| 亚洲AV午夜成人片精品| 敌伦交换第十一部分| 少妇亚洲XXXX| x88AV在线观看ww| 蜜桃AV麻豆AV天美AV| 7M精品福利视频导航| 久久SE精品一区二区| 英语老师的小兔子好大好软水| 黑人大荫道BBWBBB高潮潮喷| 亚洲美女国产精品久久久久久久久| 久久久久久AV无码免费网站| 在线看AV的网站| 久久AV高清无码| 中文字幕在线精品视频入口一区| 男女后进式猛烈XX00动态图片| BT天堂新版中文在线地址| 日本熟妇毛茸茸XXXX| 国产成人综合色视频精品| 日韩一区二区三区北条麻妃| 观看国产色欲色欲色欲WWW| 午夜精品久久久久9999高清| 精品国产一区二区AV片| 性生交大片免费看淑女出招| 国产GAYSEXCHINA男外| 小浪蹄子蜜水噗呲噗呲的| 国产成人精品无码A区在线观看| 日韩AV一中美AV一中文字慕| 国产AV无码区亚洲AV欧美| 亚洲AV中文无码乱人伦| 国产亚洲VA综合人人澡精品| 亚洲人成电影在线观看天堂色| 免费A级毛片无码无遮挡内射| 白种女BBWBBWBBW| 西西人体444WWW高清大但| 久久免费的精品国产V∧| JIZZJIZZJIZZ日本丰| 欧美乱大交XXXXX潮喷| 高H禁伦餐桌上的肉伦NP| 色欲蜜臀AV在线播放| 国产在线观看无码免费视频 | 无码一区二区三区不卡AV| 久久97人人超人人超碰超国产 | 84PAO国产成视频永久免费| 色8激情欧美成人久久综合电| 国精产品一二二区传媒有哪些| 中国又粗又大XXXXBBBB| 少妇丰满大乳被男人揉捏视频 | 欧美性狂猛BBBBBBXXXX| JLZZZJLZZZ国产免费观| 无码高潮喷吹在线播放亚洲| 久久人与动人物A级毛片| 成人欧美一区二区三区| 日日噜噜夜夜狠狠VA视频| 狠狠色狠狠色综合| 亚洲综合激情五月丁香六月| 日产精品久久久一区二区| 娇妻被领导抱进卧室|