回答:為什么要使用框架?軟件系統(tǒng)發(fā)展到今天已經(jīng)很復(fù)雜了,特別是服務(wù)器端軟件(前端也是如此),涉及到的知識(shí),內(nèi)容,非常廣泛。這樣開(kāi)發(fā)出完善健壯的軟件,對(duì)程序員的要求將會(huì)非常高。如果采用成熟,穩(wěn)健的框架,那么一些基礎(chǔ)的通用工作,比如,事物處理,安全性,數(shù)據(jù)流控制等都可以交給框架處理,那么程序員只需要集中精力完成系統(tǒng)的業(yè)務(wù)邏輯設(shè)計(jì),可以降低開(kāi)發(fā)難度。 從程序員角度看,使用框架最顯著的好處是重用,由于框架能重用...
...所以捕獲比冒泡先執(zhí)行。其中DOM3級(jí)事件在DOM2的基礎(chǔ)之上添加了更多的事件類型。 DOM2級(jí)事件規(guī)定的事件流包括三個(gè)階段:(1)事件捕獲階段(2)處于目標(biāo)階段(3)事件冒泡階段。下面圖片來(lái)自:https://www.w3.org/TR/DOM-Lev... 我們...
...數(shù) . 從 Scope 作用鏈中可以看出, 前面說(shuō)的 input 對(duì)象會(huì)被添加在當(dāng)前匿名函數(shù)執(zhí)行的作用域鏈上. 根據(jù)開(kāi)發(fā)工具來(lái)看, 我們是可以模擬引擎幫做的事情, 偽代碼如下: function () { with(document) { with(input){ ...
...數(shù) . 從 Scope 作用鏈中可以看出, 前面說(shuō)的 input 對(duì)象會(huì)被添加在當(dāng)前匿名函數(shù)執(zhí)行的作用域鏈上. 根據(jù)開(kāi)發(fā)工具來(lái)看, 我們是可以模擬引擎幫做的事情, 偽代碼如下: function () { with(document) { with(input){ ...
...正式處理數(shù)據(jù)(獲取選擇器選擇的DOM) * 正式處理數(shù)據(jù)(添加DOM到當(dāng)前實(shí)例) * 在實(shí)例的原型鏈上添加方法 * 支持插件擴(kuò)展 * 驗(yàn)收 用閉包封裝Zepto // 對(duì)全局暴露Zepto變量 var Zepto = (function() { // 定義$變量,并將具體細(xì)節(jié)交給zep...
...實(shí)例屬性就沒(méi)了,但是原型屬性還在。缺點(diǎn):同一個(gè)事件添加兩個(gè)事件處理程序會(huì)導(dǎo)致后一個(gè)覆蓋前一個(gè)。原因在于一個(gè)事件處理程序就是一個(gè)屬性,為一個(gè)屬性賦兩個(gè)值,后一個(gè)會(huì)覆蓋前一個(gè)。 3)DOM2 級(jí)事件處理程序 DOM2 ...
...實(shí)例屬性就沒(méi)了,但是原型屬性還在。缺點(diǎn):同一個(gè)事件添加兩個(gè)事件處理程序會(huì)導(dǎo)致后一個(gè)覆蓋前一個(gè)。原因在于一個(gè)事件處理程序就是一個(gè)屬性,為一個(gè)屬性賦兩個(gè)值,后一個(gè)會(huì)覆蓋前一個(gè)。 3)DOM2 級(jí)事件處理程序 DOM2 ...
...一個(gè)創(chuàng)建DOM的方法,按照文檔描述將創(chuàng)建好的DOM按照層級(jí)添加到里面頁(yè)面中就好了。 上述JavaScript中所描述的數(shù)據(jù)類型也就可以簡(jiǎn)單的理解為是虛擬DOM,雖然這個(gè)虛擬DOM是那么的簡(jiǎn)陋,但是足可以說(shuō)明情況啦,像Vue和React當(dāng)需要對(duì)頁(yè)...
... 從上述代碼中可以看出: addEventListener可以對(duì)一個(gè)元素添加多個(gè)事件處理程序,并可以聲明是將事件處理程序添加到哪一個(gè)階段(為了保證兼容性、建議都將事件處理程序添加到冒泡階段)。 需要特別注意的是:removeEventListen...
... 從上述代碼中可以看出: addEventListener可以對(duì)一個(gè)元素添加多個(gè)事件處理程序,并可以聲明是將事件處理程序添加到哪一個(gè)階段(為了保證兼容性、建議都將事件處理程序添加到冒泡階段)。 需要特別注意的是:removeEventListen...
... 可以使用HTML為元素指定事件處理程序,方法是:為元素添加一個(gè)與事件處理程序同名的屬性,該屬性的值是能夠執(zhí)行的JS代碼或JS函數(shù)。 //直接定義JS代碼 //調(diào)用在頁(yè)面其他地方定義的JS函數(shù) 以上代碼為按鈕添加了鼠標(biāo)單擊事...
...元素的任何屬性和方法都可以通過(guò)this訪問(wèn)。以這種方式添加的事件處理程序會(huì)在事件流的冒泡階段被處理。 (三)DOM 2級(jí)事件處理程序 DOM 2級(jí)事件定義了兩個(gè)方法,分別用于處理指定和刪除事件處理程序的操作:addEventListener()...
...屬性有三種方法來(lái)操作 dom.setAttribute(name , value) //為元素添加屬性名 和 屬性值 dom.getAttribute(name) //獲取元素屬性值 dom.removeAttribute(name) //刪除元素屬性 而JQuery則將以上三個(gè)操作簡(jiǎn)化為: attr 和 removeAttr attr(name , value) //對(duì)應(yīng) dom.setA...
...e2.getText(); System.out.println(s2); } } ※ 使用dom4j實(shí)現(xiàn)添加操作 (一)在第一個(gè)p1標(biāo)簽?zāi)┪蔡砑右粋€(gè)元素 male package cn.ideal.xml.dom4j; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io...
...程序中通過(guò) this 訪問(wèn)元素的任何屬性和方法。以這種方式添加的事件處理程序會(huì)在事件流的冒泡階段被處理。 也可以刪除通過(guò) DOM1 級(jí)方法指定的事件處理程序,只要像下面這樣將事件處理程序?qū)傩缘闹翟O(shè)置為 null 即可: btn.onclic...
ChatGPT和Sora等AI大模型應(yīng)用,將AI大模型和算力需求的熱度不斷帶上新的臺(tái)階。哪里可以獲得...
大模型的訓(xùn)練用4090是不合適的,但推理(inference/serving)用4090不能說(shuō)合適,...
圖示為GPU性能排行榜,我們可以看到所有GPU的原始相關(guān)性能圖表。同時(shí)根據(jù)訓(xùn)練、推理能力由高到低做了...