原创 編譯原理--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