AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

一篇文章帶你了解 JavaScript Object 對象

來源: 責編: 時間:2024-07-03 17:28:22 169觀看
導讀一、概念JavaScript 原生提供Object對象(注意起首的O是大寫),介紹該對象原生的各種方法。JavaScript 的所有其他對象都繼承自Object對象,即那些對象都是Object的實例。二、Object()Object本身是一個函數,可以當作工具方法

一、概念

5HV28資訊網——每日最新資訊28at.com

JavaScript 原生提供Object對象(注意起首的O是大寫),介紹該對象原生的各種方法。JavaScript 的所有其他對象都繼承自Object對象,即那些對象都是Object的實例。5HV28資訊網——每日最新資訊28at.com

二、Object()

Object本身是一個函數,可以當作工具方法使用,將任意值轉為對象。5HV28資訊網——每日最新資訊28at.com

這個方法常用于保證某個值一定是對象。如果參數為空(或者為undefined和null),Object()返回一個空對象。5HV28資訊網——每日最新資訊28at.com

<html>    <head>        <title>JavaScript Animation</title>        <script type="text/javascript">            var obj = Object();            // 等同于            var obj = Object(undefined);            var obj = Object(null);            console.log(obj) // true</script>    </head>    <body>      <p id="dad"></p>    </body></html>

運行效果:5HV28資訊網——每日最新資訊28at.com

5HV28資訊網——每日最新資訊28at.com

參數是原始類型的值,Object方法將其轉為對應的包裝對象。5HV28資訊網——每日最新資訊28at.com

var obj = Object(1);obj instanceof Object// true

Object方法的參數是一個對象,它總是返回該對象,即不用轉換。5HV28資訊網——每日最新資訊28at.com

<html>    <head>        <title>JavaScript Animation</title>        <script type="text/javascript">            var obj = Object(1);            obj instanceof Object             console.log(obj) // true</script>    </head>    <body>       <p id="dad"></p>    </body></html>

5HV28資訊網——每日最新資訊28at.com

利用這一點,可以寫一個判斷變量是否為對象的函數。5HV28資訊網——每日最新資訊28at.com

function isObject(value) {   return value === Object(value);}isObject([]) // trueisObject(true) // false

5HV28資訊網——每日最新資訊28at.com

1. Object 構造函數

Object構造函數的首要用途,是直接通過它來生成新對象。5HV28資訊網——每日最新資訊28at.com

var obj = new Object();

注:5HV28資訊網——每日最新資訊28at.com

通過var obj = new Object()的寫法生成新對象,與字面量的寫法var obj = {}是等價的?;蛘哒f,后者只是前者的一種簡便寫法。5HV28資訊網——每日最新資訊28at.com

var o1 = {a: 1};var o2 = new Object(o1);o1 === o2 // truevar obj = new Object(123);obj instanceof Number // true

5HV28資訊網——每日最新資訊28at.com

注:( 雖然用法相似,但是Object(value)與new Object(value)兩者的語義是不同的。)5HV28資訊網——每日最新資訊28at.com

Object(value)表示將value轉成一個對象,new Object(value)則表示新生成一個對象,它的值是value。5HV28資訊網——每日最新資訊28at.com

2. Object 的實例方法

除了靜態方法,還有不少方法定義在Object.prototype對象。它們稱為實例方法。5HV28資訊網——每日最新資訊28at.com

所有Object的實例對象都繼承了這些方法。5HV28資訊網——每日最新資訊28at.com

2.1 Object.prototype.valueOf()

valueOf方法的作用是返回一個對象的“值”,默認情況下返回對象本身。5HV28資訊網——每日最新資訊28at.com

var obj = new Object();obj.valueOf() === obj // true

例1:5HV28資訊網——每日最新資訊28at.com

var obj = new Object();1 + obj // "1[object Object]"

圖片5HV28資訊網——每日最新資訊28at.com

例2:5HV28資訊網——每日最新資訊28at.com

var obj = new Object();obj.valueOf = function () {  return 2;};1 + obj // 3

圖片5HV28資訊網——每日最新資訊28at.com

代碼解析5HV28資訊網——每日最新資訊28at.com

自定義了obj對象的valueOf方法,于是1 + obj就得到了3。這種方法就相當于用自定義的obj.valueOf,覆蓋Object.prototype.valueOf。5HV28資訊網——每日最新資訊28at.com

2.2 Object.prototype.toString()

toString方法的作用是返回一個對象的字符串形式,默認情況下返回類型字符串。5HV28資訊網——每日最新資訊28at.com

var o1 = new Object();o1.toString() // "[object Object]"var o2 = {a:1};o2.toString() // "[object Object]"

5HV28資訊網——每日最新資訊28at.com

通過自定義toString方法,可以讓對象在自動類型轉換時,得到想要的字符串形式。5HV28資訊網——每日最新資訊28at.com

var obj = new Object();obj.toString = function () {  return 'hello';};obj + ' ' + 'world' // "hello world"

5HV28資訊網——每日最新資訊28at.com

上面代碼表示,當對象用于字符串加法時,會自動調用toString方法。由于自定義了toString方法,所以返回字符串hello world。5HV28資訊網——每日最新資訊28at.com

數組、字符串、函數、Date 對象都分別部署了自定義的toString方法,覆蓋了Object.prototype.toString方法。5HV28資訊網——每日最新資訊28at.com

[1, 2, 3].toString() // "1,2,3"'123'.toString() // "123"(function () {  return 123;}).toString()// "function () {//   return 123;// }"(new Date()).toString()// "Tue May 10 2016 09:11:31 GMT+0800 (CST)"

5HV28資訊網——每日最新資訊28at.com

上面代碼中,數組、字符串、函數、Date 對象調用toString方法,并不會返回[object Object],因為它們都自定義了toString方法,覆蓋原始方法。5HV28資訊網——每日最新資訊28at.com

2.3 Objct.prototype.toLocaleString()

Object.prototype.toLocaleString方法與toString的返回結果相同,也是返回一個值的字符串形式。5HV28資訊網——每日最新資訊28at.com

var obj = {};obj.toString(obj) // "[object Object]"obj.toLocaleString(obj) // "[object Object]"

這個方法的主要作用是留出一個接口,讓各種不同的對象實現自己版本的toLocaleString,用來返回針對某些地域的特定的值。5HV28資訊網——每日最新資訊28at.com

var person = {  toString: function () {    return 'Henry Norman Bethune';  },  toLocaleString: function () {    return '白求恩';  }};person.toString() // Henry Norman Bethuneperson.toLocaleString() // 白求恩

5HV28資訊網——每日最新資訊28at.com

日期的實例對象的toString和toLocaleString返回值就不一樣,而且toLocaleString的返回值跟用戶設定的所在地域相關。5HV28資訊網——每日最新資訊28at.com

var date = new Date();date.toString() // "Tue Jan 01 2018 12:01:33 GMT+0800 (CST)"date.toLocaleString() // "1/01/2018, 12:01:33 PM"

5HV28資訊網——每日最新資訊28at.com

三、總結

本文基于JavaScript基礎,主要介紹Object 對象,常見的構造函數,Object 的實例方法,都通過案例的分析進行詳細講解。通過運行效果圖展示,能夠更好的幫助讀者去理解。5HV28資訊網——每日最新資訊28at.com

歡迎大家積極嘗試,有時候看到別人實現起來很簡單,但是到自己動手實現的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。5HV28資訊網——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-98562-0.html一篇文章帶你了解 JavaScript Object 對象

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Vue入門指南:從基礎到實踐

下一篇: 夜市擺攤如何掙錢?快手百萬粉達人走進云南“星光夜市”揭秘致富經

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 對標蘋果的靈動島 華為帶來實況窗功能

    繼蘋果的靈動島之后,華為也在今天正式推出了“實況窗”功能。據今天鴻蒙OS 4.0的現場演示顯示,華為的實況窗可以更高效的展現出實時通知,比如鎖屏上就能看到外賣、打車、銀行
  • 7月安卓手機好評榜:三星S23Ultra好評率第一

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年7月1日至7月31日,僅限國內市場。第一名:三星Galaxy S23 Ultra好評率:95.71%在即將迎來新
  • 印度登月最關鍵一步!月船三號今晚進入環月軌道

    8月5日消息,據印度官方消息,月船三號將于北京時間今晚21時30分左右開始近月制動進入環月軌道。這是該探測器能夠成功的最關鍵步驟之一,如果成功將開始圍
  • Raft算法:保障分布式系統共識的穩健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復制、可冗余、可容錯”)的首字母縮寫。Raft算法是一種用于在分布式系統
  • 2023年,我眼中的字節跳動

    此時此刻(2023年7月),字節跳動從未上市,也從未公布過任何官方的上市計劃;但是這并不妨礙它成為中國最受關注的互聯網公司之一。從2016-17年的抖音強勢崛起,到2018年的&ldquo;頭騰
  • 2天漲粉255萬,又一賽道在抖音爆火

    來源:運營研究社作者 | 張知白編輯 | 楊佩汶設計 | 晏談夢潔這個暑期,旅游賽道徹底火了:有的「地方」火了&mdash;&mdash;貴州村超旅游收入 1 個月超過 12 億;有的「博主」火了&m
  • 引領旗艦級影像能力向中端機普及 OPPO K11 系列發布 1799 元起

    7月25日,OPPO正式發布K系列新品—— OPPO K11 。此次 K11 在中端手機市場長期被忽視的影像板塊發力,突破性地搭載索尼 IMX890 旗艦大底主攝,支持 OIS
  • OPPO Reno10 Pro英雄聯盟定制禮盒公布:薩勒芬妮同款配色夢幻十足

    5月24日,OPPO推出了全新的OPPO Reno 10系列,包含OPPO Reno10、OPPO Reno10 Pro和OPPO Reno10 Pro+三款新機,全系標配了超光影長焦鏡頭,是迄今為止拍照
Top