原创 一種基於ES5的JavaScript繼承

關於JavaScript繼承,方式很多,包括compile-to-javascript的語言TypeScript, CoffeeScript以及網站MDN, GitHub, Modernizr各種polyfill都給出了穩妥的實現方案。

原创 JavaScript(ES5)使用保留字作函數名

ES5允許直接使用保留字作爲屬性名,但卻不允許直接使用保留字作爲函數名 設現有類NSMap,若要給NSMap的原型加delete方法,如 function NSMap(){ } NSMap.prototype.delete=functi

原创 使用限制函數執行頻率的函數代理

使用限制函數執行頻率的函數代理 假設一個經典的CURD頁面上,要做一個Ajax異步查詢功能。 放一個查詢按鈕,點擊查詢,系統會到遠程服務端請求數據,一秒之後返回查詢結果。 很快,功能實現了! 但假如用戶一秒內點擊了三次查詢,會發生什麼?

原创 用VirtualBox安裝Debian/Ubuntu到物理磁盤,並實現從BIOS啓動Debian/Ubuntu

需求 因工作需要,我得在Dell移動工作站上安裝Windows-Linux雙系統。之前用了WSL一段時間,一般服務非常便利,在systemd、系統遷移備份方面遇到一些麻煩。我不想繼續折騰,故選擇安裝Linux虛擬機,雖然笨些,但耗

原创 A robust way to prevent window from unloading with onbeforeunload and addEventListener beforeunload

It’s annoying that sometimes the beforeunload event listener doesn’t not work. so I’m going to take some time start

原创 文檔屬性時間戳修改

背景 前幾天翻閱了幾年前收藏的一些文檔,當對這些文檔進行一番整理後,我發現部分文檔屬性中的修改日期變了。 想法 雖然文檔元數據中存有更靠譜的修改日期信息,但是人們瞭解修改日期的第一途徑是查看文檔屬性中的。 我想讓文檔屬性中的修改

原创 配置PotPlayer和Dolby Access啓用耳機杜比全景聲

適合讀者 觀看的電影的是6聲道或以上的藍光電影(而不是立體聲的網絡電影) 想體驗由 音效插件+立體聲耳機 模擬出來環繞聲音效 願意花15美元購買空間音效軟件(或30天免費體驗) 背景 電影的6聲道8聲道環繞聲通常由播放器程序(如P

原创 配置Debian/Ubuntu桌面版,默認啓動到CLI界面

背景 雖然安裝Linux系統時選擇了安裝了桌面環境,但有些時候我們用Linux只是爲了運行一些服務,啓動到CLI終端就夠了,並不需要每次都啓動到GUI桌面環境,畢竟啓動到桌面環境會多佔用一些系統資源。 期望 我希望系統默認啓動到C

原创 jQuery Alternate Source in HTML

For better site performance, we may use popular libraries from CDN like Google Hosted Libraries. <script src="//aja

原创 使用jQuery Ajax過濾實現REST不間斷會話

使用jQuery Ajax過濾實現REST不間斷會話 當客戶端與服務端的會話超時,發出一個Ajax數據請求,遇到403狀態碼怎麼辦? 在Shell終端裏,超級管理員會話超時時,會自動顯示密碼輸入確認。對頁面來說,是要捕獲每個狀態碼爲403

原创 修復IE(lte 8) ArraySlice 調用在DOM集合時腳本報錯的補丁

  (function(){ /** * fix IE(lte 8) script error of ArraySlice called on HTMLCollection || NodeList */ try{Array.

原创 老生常談之JavaScript原型鏈繼承

介紹 本文總結了ES3,ES5,ES7和NS(NonStandard)四種原型鏈繼承的實現方法。 前言 ECMAScript 6 class將給開發者帶來JavaScript OOP的規範實現,但這種方式的直接應用和普及至少得等到IE11

原创 M4A(ALAC Apple Lossless)轉WAV/APE/FLAC的一種方法

去年買了一些CD,在PC上用EAC複製並壓縮成APE後,CD該送的送,該丟的丟 後來從PC轉到Mac,因iTunes不支持APE,把APE轉成ALAC,除小部分APE因放錯了地方倖存下來,其他的APE都被清理了 最近添了vivo,想在自然

原创 JavaScript的最大函數參數長度和最大棧深度檢測

一般代碼或許不會涉及最大參數長度和最大棧深度,但某些特殊場合,檢測這兩個參數還是有必要的。例如:用遞歸計算斐波那契數列的第n個值,不瞭解最大棧深度,難免顯得膚淺。又例如:將一串charCode轉成String,不瞭解最大參數長度,採用字

原创 Mac OS X RAM Disk(內存盤) Shell

本文提供改進版的Mac OS X RAM Disk(內存盤)創建程序和實用說明。 顧慮 Mac迅雷下載時IOPS太高,可能是沒使用緩存,這導致磁盤吱吱地響,因此擔心磁盤很快報廢,而不能安心下載。作者已多次向其開發者提議,但至今未收到答覆。