原创 編譯原理--LR(1)分析表構建--JavaScript版
在完成編譯原理實驗第二部分----語法分析的時候,需要對自定義語言的文法進行處理求分析表,我採用了LR分析算法.下面是我的LR(1)分析表構造過程: 可以在這裏找到最新版本:https://github.com/luofei2011/jsl
原创 數據結構--Javascript--排序篇
1. 直接插入排序(Straight Insertion Sort): 1 /* 2 * 插入排序 3 * O(n^2) 4 * */ 5 Array.prototype.insertSort = function
原创 JavaScript----UI的鬆耦合
前言 在Web開發中,UI被定義爲以下三個層的組合: HTML: 結構化需要顯示的數據. CSS: 視覺上的渲染. JavaScript: 增強頁面的交互性. 通常的UI佈局是這樣的, HTML層作爲基礎, CSS, JavaScrip
原创 jquery內核學習(4)--添加選擇器功能
通過前幾篇的分析,大體的畫出了jquery的框架,但是它確不具備現實中jquery插件的一切功能!現實中是怎樣的? $('#id'); //我能選擇一個id爲id的dom元素 $('.class'); //我也能選擇一個class爲
原创 我的博客"生涯"
前言 當我學到新技術(當然這個技術有的是別人實現過的,只是我不知道而已).心情煩惱的時候(筆試,面試跪了,失戀了等等),看了一部好的電影,發牢騷的時候.就來上面吐槽吧,寫着寫着就知道自己該奮鬥了,爲什麼呢?突然發現,哎呀我擦,啥也不會呀
原创 jquery內核學習(5)--對象的遍歷
現在來實現jquery插件中經典的幾個方法. 對象的遍歷 經典的用法: $('div').each(function() { //do something }); 現在給我的jquery擴展一個each()方法: jQue
原创 javascript類型檢測
原文在我的博客上: http://www.poised-flw.com/javascript/2013/05/10/avoid-null-comparisons/ JS中的檢測 在Javascript中, 測試一個變量是否爲null很普遍,
原创 Javascript編碼風格
像我這種第一們語言是C的程序猿,接觸到JS的時候也秉承着C的風格;直到看了開源社區那些讓人癡迷的代碼風格以後,決定徹頭徹尾的改變自己編寫js代碼的規範!本篇中主要的規範都來自於《Maintainable JavaScript》by Ni
原创 jquery內核學習(7)--DOM元素選擇
做到這一步,我的這個jquery框架已經具備了基本的選擇器功能(只能直接選擇dom節點對象),還具備可擴展功能extend(). 封裝js方法 我們所知道的js能處理DOM元素的方法有: document.getElementsByTag
原创 jquery內核學習(6)--擴展實現extend
本篇繼續豐富我的jquery框架,利用extend來擴展! 擴展的優點 不必每次增加新的方法都直接往jQuery或者jQuery.fn追加. jQuery.fn.extend({ fun1: function() {
原创 jquery內核學習(3)--作用域分割(下)
上篇已經介紹了由於this指向的一些困擾帶來的問題.現在分析怎麼實現init的this和原型對象中的this分開. 實例化init 如下的修改過程: var $ = jQuery = function() { return n
原创 Javascript 筆記(1)----Function
1.parseInt: >>>parseInt('123dsfsd') 123 >>>parseInt('abc1.33') NaN >>>parseInt(12dsfds333') 12 parseInt(arg1,ar
原创 Javascript 筆記(2)----Closure
在學習閉包之前,要先了解Javascript中作用域(scope)的相關概念: 一,變量作用域(Gloabl & Local) 1.全局變量能在任何地方被訪問; var a = 8; function a(){ alert(a);
原创 Javascript 筆記(3)----Objects
構造函數 function Person() { //大寫構造函數名的首字母以區別普通函數 this.name = 'lf'; } >>> var person = new Person(); >>> person
原创 vim編輯php文件時html無法自動縮進的解決辦法
解決辦法: 1.確保vim中開啓了文件類型檢查: filetype on 2.加入以下快捷鍵,在編輯中根據文件類型實時更改 nnoremap <leader>1 :set filetype=xhtml<CR> "快捷鍵"\+1" nno