數(shù)學(xué)的角度看jQuery和XAML的內(nèi)在機(jī)理
建議看先看jQuery in action 然后再看 john resig自己寫的書Pro JavaScript Techniques
前一本是運(yùn)用的讀物,后面一本,講述了jQuery的設(shè)計思想和內(nèi)在機(jī)理(和.net本質(zhì)論這本書有點(diǎn)類似)。
在我看來,Web開發(fā)可以被劃分為有jQuery和沒有jQuery的時代。
為什么jQuery如此偉大呢?這是因?yàn)閖Query充分揭示了html和css的數(shù)學(xué)之美。這是在長時間的實(shí)踐中,對Dom本質(zhì)的了解不斷深化的結(jié)果
我的感受就是大凡基于數(shù)學(xué)的軟件模型都有長久的生命力,反之則生命周期都很短。軟件編程模型實(shí)際上是物理和數(shù)學(xué)的戰(zhàn)爭。隨著硬件技術(shù)的發(fā)展,數(shù)學(xué)正在占據(jù)上風(fēng)。
順便推薦一個叫g(shù)it的系統(tǒng), 這是史上最偉大的黑客Linus的作品,里面深刻體現(xiàn)了數(shù)學(xué)中圖論的思想。有了Git,Linux***次在系統(tǒng)工程學(xué)上取得了對Windows的優(yōu)勢。
下面具體談?wù)刯Query和XAML的奇妙數(shù)學(xué)特性
jQuery的核心就是jQuery對象, 也可以寫成$
這個jQuery對象非常神奇。他具有一些神奇的特性。
從一個jQuery對象上切下一塊, 就會成為2個$對象
把兩個jQuery對象合在一起,就會成為一個新的jQuery對象。
從一個Qquery對象上,這里切一小塊,那里切一小塊,幾塊東西揉在一起,又成為一個合法的jQuery對象。
這讓我想起了什么呢?我想起了奇妙的幾何分形圖。
這里給一個鏈接:http://hi.baidu.com/kreuzgoeson/blog/category/Science%20Rocks
也可以去google搜索,網(wǎng)上有大量的分型圖,揭示了數(shù)學(xué)的驚世之美
分行圖又被稱為自相似結(jié)構(gòu)圖。也就是圖的一個局部和整體是相似的。然而這只是分形圖的表象, 它的內(nèi)在基礎(chǔ)是分形幾何。分形幾何和和傳統(tǒng)幾何的***區(qū)別就是引入分?jǐn)?shù)維。分?jǐn)?shù)維,呵呵,挑戰(zhàn)人類抽象思維能力的東東。
我的通俗理解是一個整數(shù)維是獨(dú)立存在,是正交的。而分?jǐn)?shù)維依存于整數(shù)維存在。而分?jǐn)?shù)維可以在某個局部產(chǎn)生正交?;诜?jǐn)?shù)維思想,我們就可以設(shè)計出類似于jQuery對象這樣具有自相似特性的神奇對象。
下面就是道破天機(jī)的一句話
CSS是HTML的分?jǐn)?shù)維。
然后談一下jQuery和XAML
XAML和HTML的***區(qū)別就是XAML的tag是可以任意擴(kuò)展的,這樣就意味著XAML的結(jié)構(gòu)不是自治的,不具備自相似特性。
說的通俗一點(diǎn),就是當(dāng)你引入一個新的tag,你需要去定義它,這是一個非常笨拙的結(jié)構(gòu)。會產(chǎn)生諸如版本問題(比如.net的版本問題),標(biāo)準(zhǔn)問題(誰來定義 tag),這樣的結(jié)構(gòu)也不具有自增長特性。也無法定義出一個jQuery對象。
那為什么微軟要引入這樣笨拙的結(jié)構(gòu)呢?主要是基于Windows捆綁的考慮。XAML描述了Windows/.Net對象。
有網(wǎng)友留言提出,我老是談數(shù)學(xué)和哲學(xué),沒有技術(shù)(其實(shí)大多數(shù)時候是經(jīng)驗(yàn))。正好最近在做CSS重構(gòu),有時間我準(zhǔn)備寫一下我目前使用的一種CSS的風(fēng)格。希望這能歸入”技術(shù)“行列。 3 3 0
(請您對文章做出評價)
【編輯推薦】