今天就跟大家聊聊有關(guān)Javascript中面向?qū)ο蠛驮驮玩準(zhǔn)窃鯓拥模赡芎芏嗳硕疾惶私猓瑸榱俗尨蠹腋恿私?,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)公司是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計、成都做網(wǎng)站、電商網(wǎng)站制作開發(fā)、微信小程序開發(fā)、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
面向?qū)ο罄碚撝R總述
* 核心答案 | 基礎(chǔ)知識要夯實(shí)
編程語言
1、OOP面向?qū)ο螅?/strong>
1)java,
2)python,
3)C++,
4)php,
5)C#(ASP.NET),
6)javascript -> Node.js
2、POP面向過程:
HTML和CSS是標(biāo)記語言
1)less/sass/stylus:CSS預(yù)編譯語言,讓CSS具備面向?qū)ο缶幊痰奶攸c(diǎn)。
2)寫完的代碼無法被瀏覽器直接識別,需要編譯后(編譯成為正常的CSS)在瀏覽器中渲染。
什么是面向?qū)ο缶幊蹋?/strong>
1、對象:泛指,萬物皆對象(JS中所有我們學(xué)習(xí)研究和開發(fā)的都是對象 「研究對象」);
2、類:對 “對象” 的一個細(xì)分,按照對應(yīng)的功能特點(diǎn),分成我們的大類和小類「類別」;
3、實(shí)例:某個類別中具體的事物;
* 關(guān)于類的“封裝、繼承、多態(tài)”
1)封裝:把實(shí)現(xiàn)某個功能的代碼封裝到函數(shù)中,起到“低耦合高內(nèi)聚”的作用
2)繼承:子類及子類的實(shí)例繼承了父類中的屬性和方法
3)多態(tài):函數(shù)的重載(方法名字相同,但是傳遞參數(shù)的個數(shù)或者類型不同,識別為兩個不同的方法 -> 后臺語言有這個特征,但是JS中不存在嚴(yán)格意義上的重載)和重寫(子類重寫父類的方法)
JS就是基于“面向?qū)ο蟆彼枷朐O(shè)計的編程語言
1、本身存在很多“內(nèi)置類”
1)每一個數(shù)據(jù)類型都有一個自己所屬的內(nèi)置類
2)獲取的元素集合或者節(jié)點(diǎn)集合也是有自己的類 HTMLCollection / NodeList
3)每一個元素標(biāo)簽都有自己所屬的類
2、我們學(xué)習(xí)JS:拿出某個類的一個實(shí)例去研究和學(xué)習(xí),當(dāng)前實(shí)例研究明白后,那么當(dāng)前實(shí)例所屬類下的其他實(shí)例,也具備這些特點(diǎn)...
自定義類的創(chuàng)建和一些細(xì)節(jié)知識
* 核心答案 | 基礎(chǔ)知識要夯實(shí)
自定義類(所有的類「內(nèi)置類/自定義類」都是“函數(shù)數(shù)據(jù)類型”的值)
函數(shù)執(zhí)行的時候基于new執(zhí)行即可 “構(gòu)造函數(shù)執(zhí)行”。
? 例如一:普通函數(shù) 與 構(gòu)造函數(shù)
function Fn(x, y) { let total = x + y; this.x = x; this.y = y; return total; } // 1、作為普通函數(shù)執(zhí)行 Fn(10, 20); // 2、構(gòu)造函數(shù)執(zhí)行 // 說明:f1是Fn這個類的一個實(shí)例對象 let f1 = new Fn(10, 20); console.log(f1.x, f1.y, f1.total); // 說明:total只是上下文中的私有變量,和實(shí)例f1沒有關(guān)系」 // 結(jié)果:10 20 undefined
畫圖分析:( 有圖有真相 )
let keys = [ ...Object.keys(obj), ...Object.getOwnPropertySymbols(obj) ]; keys.forEach(key => { console.log(`屬性名:${String(key)},屬性值:${obj[key]}`); });
說明:
1)Object.keys(obj):獲取當(dāng)前對象所有非Symbol的私有屬性「數(shù)組」 =>Object.getOwnPropertyNames.
2)Object.getOwnPropertySymbols(obj):獲取對象所有的Symbol私有屬性「數(shù)組」.
面向?qū)ο笾械脑秃驮玩?/strong>
* 核心答案 | 基礎(chǔ)知識要夯實(shí)
1、函數(shù)數(shù)據(jù)類型
1)普通函數(shù)
2)箭頭函數(shù)
3)生成器函數(shù)
4)構(gòu)造函數(shù)(類)
2、對象數(shù)據(jù)類型
1)普通對象/數(shù)組對象/正則對象/日期對象...
2)實(shí)例也是對象數(shù)據(jù)類型的(排除7種原始值類型)
3)prototype/__proto__原型屬性值也是對象(排除Function.prototype)
3、大部分函數(shù)(重點(diǎn)是構(gòu)造函數(shù)) 都內(nèi)置一個prototype(原型「顯式原型」)的屬性,屬性值是一個對象,對象中存儲的屬性和方法,是供當(dāng)前類所屬實(shí)例,調(diào)用的“公共”的屬性和方法
1)箭頭函數(shù)是沒有prototype屬性的;
2)在原型對象上有一個內(nèi)置的屬性 constructor(構(gòu)造器),屬性值是當(dāng)前函數(shù)本身;
4、每一個對象都內(nèi)置一個__proto__(原型鏈「隱式原型」)的屬性,屬性值指向自己所屬類的原型prototype對象。
1)Object.prototype這個對象的__proto__值是null,因?yàn)镺bject是所有對象的“基類”
只繪制“堆內(nèi)存”,畫圖分析:( 有圖有真相 )
Javascript中面向?qū)ο蠛驮驮玩準(zhǔn)窃鯓拥?/a>
當(dāng)前URL:http://chinadenli.net/article46/ppschg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、商城網(wǎng)站、域名注冊、App設(shè)計、營銷型網(wǎng)站建設(shè)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)