原创 ECMAScript5 新特性(一)

  Function 1: Object.create 這是一個很重要的改動,現在我們終於可以得到一個原型鏈乾淨的對象了。以前要創建一個類   function Cat(name) { this.name = name;

原创 ECMAScript5 新特性(四)

  Function 17: Array.prototype.lastIndexOf 用法和16相似,取得最後一次出現的index 如果瀏覽器沒有實現此方法,你可以通過這種方式實現     if (!Array.prototype.ind

原创 模擬google電吉他2.1GA發佈,可錄音&支持鍵盤。強勢更新!!!

前幾天看到google爲了紀念電吉他大師而作的電吉他應用。今天在論壇裏看到有人討論,就隨便做了一個簡化版。   跟google的電吉他應用有以下幾點不同。 1.用古典吉他(我彈得。。。)代替電吉他 2.由於是簡化版,只做了一根高音的3弦。

原创 HTML5之IndexedDB使用詳解

 隨着firefox4正式版的推出,IndexedDB正式進入我們的視線。IndexedDB是HTML5-WebStorage的重要一環,是一種輕量級NOSQL數據庫。相較之下,WebDataBase標準已經很長時間沒有更新,大有被Ind

原创 做着玩的NodeJS服務器端模板引擎--Elf

基本功能能用,但是很多地方還比較簡陋   服務器端使用方法: var Engine = require("./elf").Engine; var http = require("http"); // 將模板位置傳入引擎 var eng

原创 TimeZone構造注意點,及no dsv的解決方案

引子:(轉載請註明出處) 今天測試人員向我報了個詭異的bug。在local跑程序的時候 webbrowser的time zone經過服務器端解析後,可以正確的得到GMT+8(Beijing),但是,一旦放到服務器上,跑出來的結果就變成了G

原创 ECMAScript5 新特性(三)

Function 11: Date.prototype.toJSON 提供了從Date類型轉成json的方法。 new Date().toJSON(); // "2010-12-06T16:25:40.040Z"   Functi

原创 基於ECMAScript5的繼承鏈實現

記得以前寫過一篇基於javascript function的類繼承鏈實現。在ECMAScript3.1中,可以把function模擬成類。但是,因爲原型鏈,構造體的實現非常繁瑣。 現在各大瀏覽器升級到ECMAScript5之後,逐漸拋棄了

原创 ECMAScript5 新特性(二)

Function 4: Object.getOwnPropertyDescriptor 用途:得到一個屬性的定義     var person = { name : 'Joe' }; Object.getOwnPropertyDescri

原创 仿google let it snow(有水霧)

    效果如上圖: 1.google 的那個水霧不好看,所以就換了一個 2.用鼠標拖拽,水霧會消失 3.有飄雪 4.只支持google chrome15以上(僅用3小時做出來的東西呵呵)   snow1.1更新 前面有位朋友說太卡。原

原创 Java synchronized 關鍵字和Lock的隨筆

最近客戶300個人同時按下一個按鈕,在執行到一個業務模塊的時候出現了髒讀。   package org.test.thread; public class Worker { public void executeJob() {

原创 NodeJS module.exports VS exports

  node.js通過實現CommonJS的Modules/1.0標準引入了模塊(module)概念,一個模塊可以通過module.exports或exports將函數、變量等導出,以使其它JavaScript腳本通過require()函

原创 網頁圖片畫圈指摘,然後保存進數據庫

好久沒寫blog了。剛纔在論壇,有位兄弟問我,如果頁面上有張圖片,如果圖片有瑕疵,如何畫個圓來標註出來。存進數據庫。 這個設計是可行的,而且思路非常好。   ie下需要注意: 透明canvas雖然能蓋在圖片上面,但是事件無法觸發。必須用d

原创 解決applet覆蓋遮罩層div的問題

當我們想用一個遮罩層div將整個頁面罩住的時候,如果頁面上使用了flash或者applet。那麼applet會默認覆蓋在div上面,無論我們在div上做什麼手腳(zIndex設置到足夠大)。但是如果在div的下面再套一層iframe,可以

原创 Javascript new 原理及模擬new

js的new可以看成是一個代理模式的代理類。包裹了new 後面的函數 處理順序爲 1.創建一個function對象,並將prototype設置爲傳入函數 2.執行傳入函數 3.判斷傳入函數返回值,如果爲null,則返回第一步的functi