原创 車牌號,手機號正則表達式

1.利用正則表達式檢查車牌輸入。在jQgrid中對編碼規則設置 {name : ‘carNumber’,index:’carNumber’,width : 90,align : “left”,editable:true,edit

原创 JSON.parse()和JSON.stringify()兼容低版本瀏覽器

JSON.parse和JSON.stringify這兩個方法在ie8及以上瀏覽器都能夠使用,但關於兼容低版本的瀏覽器,可以用兩種方法解決。 1.可以引入json2.js,下載地址 https://github.com/doug

原创 js邏輯操作符(!,&&,||)與運算符優先級

js中的邏輯操作符包括!(邏輯非),&&(邏輯與),||(邏輯或), !邏輯非:對一個操作數的布爾值取反,可通過!!取得操作數的布爾值類型,如下代碼(空數組的布爾值爲true,空字符的布爾值爲false) console.log

原创 linux(ubuntu)下安裝nodejs並配置環境,(樹莓派2代ARM6處理器)

  在樹莓派上安裝nodejs真是被坑的不行,雖然最終成功配置,但仍需要總結一下這次的收穫,避免以後配置環境走彎路。 1.下載安裝nodejs   先說一下按照編譯源碼的方式安裝nodejs,在nodejs官網上下載源碼到樹莓派,

原创 UDP廣播,多播,單播

       在說udp廣播,多播,單播之前,首先說一下udp這個協議,它是一種無連接,不可靠的網絡通信協議,但基於UDP的消息傳遞更快。在使用它傳輸數據時,用戶無法知道數據是否正確到達主機,也不能確定到達目的地的順序是否和發送的

原创 Linux系統(Centos)下安裝nodejs並配置環境

    總結Centos下安裝nodejs並配置環境,記錄成功安裝的方法。推薦的安裝方法是利用已編譯的二進制文件安裝,不推薦使用源碼的形式安裝,一是源碼安裝比較麻煩,二是需要自行下載編譯浪費時間。 1.安裝nodejs   訪問n

原创 CVS,SVN,Git

對代碼的修改比較頻繁,學習使用github版本控制工具。在日常工作中常見的版本控制工具有VSS,CVS,SVN,ClearCase,Git等。 CVS:協作或併發版本系統,是一種版本控制系統,方便軟件的開發和使用者協同工作,,比

原创 跨瀏覽器下確定窗口大小

跨瀏覽器得到窗口大小,可以讓整個頁面鋪滿瀏覽器可見視圖大小,可通過設置CSS中的元素屬性width:100%;height:100%(繼承於父元素寬和高)來解決。但最近做了一頁面,頭部的高度已經確定,想要實現除頭部以外頁面鋪滿剩下

原创 JS如何判斷空對象,及typeof和instanceof的區別

一、ECMAScript中有5種基本數據類型,分別爲Undefined,Null,Boolean,Number,String。另外還有一種複雜數據類型Object,Object本質上是由一組無序的名值對組成的。創建Object實例

原创 CSS中的幾種垂直居中方法

在CSS中要實現水平居中很容易實現,給標籤設置一個寬度,並設置margin屬性,margin 0 auto;即可實現塊級元素的水平居中。而要實現垂直居中則要相對複雜一點,以下介紹幾種方法實現垂直居中。 1.首先清除祖先元素的樣式

原创 Bootstrap響應式佈局原理

  Bootstrap響應式佈局是利用其柵格系統,對於不同的屏幕採用不同的類屬性。在開發中可以只寫一套代碼在手機平板,PC端都能使用,而不用考慮使用媒體查詢(針對不同的設備分別寫不同的代碼)。Bootstrap的官方解釋:Boot

原创 js對象的淺拷貝和深拷貝

對象複製分爲深拷貝和淺拷貝。 淺拷貝只會將對象中的各個屬性依次複製,而不會遞歸複製,因爲js存儲對象是存地址的,所以會造成複製對象和原對象指向同一內存地址。 淺拷貝的代碼簡單實現: var obj = { a:1, arr:

原创 web語義化

web語義化的一些見解 web語義化,人可以通過視覺去辨別代碼的語義,而搜索引擎看到的只是代碼,它只能通過標籤來判別語義。語義化最重要的一點是HTML的語義化,爲了實現編寫的代碼儘可能對搜索引擎友好,所以要儘可能的使標籤語

原创 Jquery 重寫序列化函數提交表單

在使用jquery框架開發項目時,使用ajax提交數據經常會使用Jquery序列化提交函數serialize,然而在遇到選中checkbox會提交checkbox的默認值“on”,不選中則不會提交checkbox 的name字段。

原创 JS中的塊級作用域

JS中是沒有塊級作用域作用域這個概念,爲實現塊級作用域可通過閉包的形式實現,下面通過一個例子來說一下JS中的塊級作用域。 function outputName(count){ for (var i = 0