JavaScript框架設(shè)計(jì)模式詳解
mvc

Model(模型) - 模型代表一個(gè)存取數(shù)據(jù)的對(duì)象或 JAVA POJO。它也可以帶有邏輯,在數(shù)據(jù)變化時(shí)更新控制器。
View(視圖) - 視圖代表模型包含的數(shù)據(jù)的可視化。
Controller(控制器) - 控制器作用于模型和視圖上。它控制數(shù)據(jù)流向模型對(duì)象,并在數(shù)據(jù)變化時(shí)更新視圖。它使視圖與模型分離開。
是單向的
mvp

mvp的核心在于presenter層,該層的核心是對(duì)于dom元素的操作,以jquery實(shí)現(xiàn)列表頁為例,presenter主要是通過循環(huán)將Model中的數(shù)據(jù)與html的標(biāo)簽進(jìn)行組合,添加到View中去。
mvvm

mvvm的核心在于Model層,該層的核心是對(duì)于數(shù)據(jù)的操作, 相對(duì)于mvp模式,我們的編碼重點(diǎn)已經(jīng)由對(duì)dom的操作轉(zhuǎn)化為對(duì)數(shù)據(jù)的操作。VM層是指將數(shù)據(jù)展示到view層以及view層的數(shù)據(jù)傳遞至Model層。vue就是viewModel的一個(gè)典型的示例
vue的來源
vue借鑒了react的virtual dom 技術(shù)和 angular的ng- 指令技術(shù)
spa mpa
MPA: mutilip page application 多頁面應(yīng)用
特點(diǎn):首次加載比較快,后期加載比較慢。前期開發(fā)成本低,后期維護(hù)成本高。
SPA:singal page application 單頁面應(yīng)用
首次加載比較慢,后期加載比較快。前期開發(fā)成本高,后期維護(hù)成本低。(主要復(fù)用得多)
createElement
var li = document.createElement(ele,src,content);
// ele 需要?jiǎng)?chuàng)建的元素
// src 元素的屬性
// content 元素中的內(nèi)容
var li = document.createElement(‘li',{className='list-li'},'123');
<li className="list-li">123<li>
class
class Person {
constructor(x,y) {
this.x = x;
}
add() {
console.log(this.x);
}
}
var person = new Person(1,2);
typeof Person // function 類本質(zhì)是一個(gè)構(gòu)造函數(shù)
Person === Person.prototype.constructor //true 類指向構(gòu)造函數(shù)的原型
person.hasOwnProperty(x); //true
person.hasOwnProperty(y); //false
person.hasOwnProperty(add); // false
構(gòu)造函數(shù)中的this指向?qū)嵗瘜?duì)象,所以x是person的屬性
而y和add相當(dāng)于是添加在 Person.prototype上
person.__proto__.hasOwnProperty(add)//true
類中的函數(shù),相當(dāng)于是添加在該構(gòu)造函數(shù)的原型上
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
獲取網(wǎng)站跟路徑的javascript代碼(站點(diǎn)及虛擬目錄)
js獲取網(wǎng)站根路徑(站點(diǎn)及虛擬目錄) ,需要的朋友可以參考下。2009-10-10
Bootstrap分頁插件之Bootstrap Paginator實(shí)例詳解
Bootstrap Paginator是一款基于Bootstrap的js分頁插件,功能很豐富,個(gè)人覺得這款插件已經(jīng)無可挑剔了,感興趣的朋友跟著腳本之家小編一起學(xué)習(xí)吧2016-10-10
javascript中一些數(shù)組常用的API總結(jié)
Js中數(shù)組是一個(gè)重要的數(shù)據(jù)結(jié)構(gòu),它相比于字符串有更多的方法,本篇文章總結(jié)了一些數(shù)組中常用的API,我們把它們分成兩類,一類是會(huì)改變原始數(shù)組,一類是不會(huì)改變原始數(shù)組,感興趣的小伙伴可以學(xué)習(xí)一下2023-09-09
Javascript 5種方法實(shí)現(xiàn)過濾刪除前后所有空格
這篇文章主要介紹Javascript 5種過濾刪除前后所有空格的方法,比較實(shí)用,需要的朋友可以參考下。2016-06-06
JavaScript實(shí)現(xiàn)給對(duì)象添加一個(gè)只讀屬性
這篇文章主要為大家介紹了JavaScript如何給對(duì)象加一個(gè)只讀屬性,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
JavaScript Dom 綁定事件操作實(shí)例詳解
這篇文章主要介紹了JavaScript Dom 綁定事件操作,結(jié)合實(shí)例形式詳細(xì)分析了JavaScript實(shí)現(xiàn)dom綁定事件的相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2019-10-10

