成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端學(xué)習(xí)筆記之原型——一張圖說(shuō)明`prototype`和`__proto__`的區(qū)別

MiracleWong / 1755人閱讀

摘要:的屬性分為兩類,一種是規(guī)定的,一種是瀏覽器私有的各瀏覽器可能不一樣。規(guī)定的有等,瀏覽器私有的等。對(duì)象函數(shù)類型對(duì)象類型函數(shù)對(duì)象函數(shù)對(duì)象函數(shù)因?yàn)橐彩?/p>

全局變量

Global是是ECMAScript 中的全局對(duì)象(瀏覽器中是window),不屬于其他對(duì)象的屬性和方法,所有在全局作用域中定義的屬性和方法,都是Global對(duì)象的屬性(window)。

window的屬性分為兩類,一種是 ECMAScript 規(guī)定的,一種是瀏覽器私有的(各瀏覽器可能不一樣)。ECMAScript 規(guī)定的有parseIntparseFloat、Number、String、ObjectBoolean等,瀏覽器私有的alert、console、prompt、confirm、document等。

var n = 1        //n是基本類型(number)
var n1 = new Number(1)        //n1是對(duì)象(object)

對(duì)象有toString()方法,比如n1.toString()
基本類型也可以用toString()方法,它是通過(guò)在內(nèi)存中創(chuàng)建一個(gè)臨時(shí)變量來(lái)獲取的,比如temp.toString(),在語(yǔ)句結(jié)束后這個(gè)變量就被回收了,所以:

var a = 1
a.xxx = 2        //語(yǔ)句結(jié)束后被回收,temp 在語(yǔ)句結(jié)束后將被回收
a.xxx   //undefined,再次訪問(wèn)該屬性,值為undefined
String 常用 API

trim()裁剪字符串兩邊的空格
concat()連接兩個(gè)字符串

原型

__proto__prototype的區(qū)別:

var s = new String()
//String.prototype 是 String 的公共屬性(原型)的引用
//s.__proto__ 是 String 的公有屬性(原型)的引用

Number、String、ObjectBoolean的公有屬性都存儲(chǔ)在Object原型中。沒(méi)寫(xiě)代碼的時(shí),瀏覽器就默認(rèn)有這條原型鏈指向Object原型,如下圖;當(dāng)我們創(chuàng)建了一個(gè)變量后,它就創(chuàng)建了在Heap 中創(chuàng)建了一個(gè)對(duì)象,指向這個(gè)對(duì)象本身的原型,不在指向prototype,如下圖紅線。

對(duì)象.__proto__ === 函數(shù).prototype;
var __①__ = new __②__;
//① 類型:對(duì)象
//② 類型:函數(shù)

var Object = new Function();
//var 對(duì)象 = new 函數(shù);

Object.__proto__ === Function.prototype;
//對(duì)象.__proto__ === 函數(shù).prototype;

Function.__proto__ === Function.prototype;
//因?yàn)?Function 也是 Object

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/94945.html

相關(guān)文章

  • 深入理解JavaScript

    摘要:深入之繼承的多種方式和優(yōu)缺點(diǎn)深入系列第十五篇,講解各種繼承方式和優(yōu)缺點(diǎn)。對(duì)于解釋型語(yǔ)言例如來(lái)說(shuō),通過(guò)詞法分析語(yǔ)法分析語(yǔ)法樹(shù),就可以開(kāi)始解釋執(zhí)行了。 JavaScript深入之繼承的多種方式和優(yōu)缺點(diǎn) JavaScript深入系列第十五篇,講解JavaScript各種繼承方式和優(yōu)缺點(diǎn)。 寫(xiě)在前面 本文講解JavaScript各種繼承方式和優(yōu)缺點(diǎn)。 但是注意: 這篇文章更像是筆記,哎,再讓我...

    myeveryheart 評(píng)論0 收藏0
  • JavaScript 原型哲學(xué)思想

    摘要:而作為構(gòu)造函數(shù),需要有個(gè)屬性用來(lái)作為以該構(gòu)造函數(shù)創(chuàng)造的實(shí)例的繼承。 歡迎來(lái)我的博客閱讀:「JavaScript 原型中的哲學(xué)思想」 記得當(dāng)年初試前端的時(shí)候,學(xué)習(xí)JavaScript過(guò)程中,原型問(wèn)題一直讓我疑惑許久,那時(shí)候捧著那本著名的紅皮書(shū),看到有關(guān)原型的講解時(shí),總是心存疑慮。 當(dāng)在JavaScript世界中走過(guò)不少旅程之后,再次萌發(fā)起研究這部分知識(shí)的欲望,翻閱了不少書(shū)籍和資料,才搞懂...

    sugarmo 評(píng)論0 收藏0
  • 使用 new 操作符內(nèi)部到底在做什么

    摘要:把方法移動(dòng)到構(gòu)造函數(shù)外部把方法移至外面,這樣每次實(shí)例化內(nèi)部的只是全局的引用,這樣避免了重復(fù)。構(gòu)造函數(shù)什么體內(nèi)什么都沒(méi)有,如果有叫做實(shí)例方法,實(shí)力屬性缺點(diǎn)重復(fù)敲,造成大量的重復(fù)輸入。 從對(duì)象聲明開(kāi)始一步步介紹 1.普通對(duì)象聲明 首先創(chuàng)建自定義對(duì)象的最簡(jiǎn)單方式就是創(chuàng)建一個(gè)Object的實(shí)例,然后在為他們添加屬性和方法,如下所示: var person = new Object(); ...

    curlyCheng 評(píng)論0 收藏0
  • 前端工程師手冊(cè)】JavaScript原型

    摘要:又是一個(gè)比較重要的知識(shí)點(diǎn)原型。且和指向了同一個(gè)對(duì)象。可以是使用做什么創(chuàng)建對(duì)象的數(shù)據(jù)共享把一些實(shí)例共享的屬性和方法放在原型上,節(jié)約空間。基于原型鏈的委托繼承這個(gè)原型繼承的關(guān)系可以用圖來(lái)表示參考資料深入之從原型到原型鏈強(qiáng)大的原型和原型鏈 又是一個(gè)比較重要的知識(shí)點(diǎn)——原型(prototype)。 一個(gè)例子 function F() {} var f = new F() F.prototype...

    Darkgel 評(píng)論0 收藏0
  • 新手理解JS原型

    摘要:我們畫(huà)張圖來(lái)表示圖中這條紅色的線就是原型鏈。我們把方法放到實(shí)例的原型對(duì)象上面,也就是上面來(lái)供所有實(shí)例使用小明小紅用圖表示補(bǔ)充說(shuō)一下我的經(jīng)歷,一開(kāi)始理解原型鏈時(shí),一直在在這個(gè)三個(gè)屬性中繞來(lái)繞去。 一直以來(lái)對(duì)于JavaScript 的原型鏈的概念,始終有些東西有一種模糊感,最近剛好有時(shí)間就塌下心認(rèn)真的把《JavaScript高級(jí)程序設(shè)計(jì)》中相關(guān)內(nèi)容認(rèn)真讀了一遍,也查看了很多網(wǎng)上很多資料,以...

    Mike617 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<