跳到主要內容

發表文章

目前顯示的是 8月, 2012的文章

[分享] [].slice 在 JavaScript 神奇應用

[].slice function on JavaScript 這幾天學習 CoffeeScript ,裡面有許多好玩的 syntax sugar ,當然 JavaScript 原生不會有這種產物,很明顯是沿用 Python, Ruby 語言的優雅之處。 裡面有個部分有個奇妙的使用方式,介紹如下, Coffee code awardMedals = (first, second, others...) -> gold = first silver = second rest = others 編譯後的 JavaScript code awardMedals = function() { var first, others, second; first = arguments[0], second = arguments[1], others = 3 <= arguments.length ? __slice.call(arguments, 2) : []; gold = first; silver = second; return rest = others; }; 裡面用到了有趣的 Array.slice ,用模擬的方式來實踐 others… 這樣的語法糖衣。 原理說明 原理是直接採用 Array.slice ,通常這個方法都是用在陣列裡面,不過在這邊是用來做傳參考參數的指定。 Array 這個原生 Object 可以直接使用 [] 來使用, others = (3 <= arguments.length) ? __slice.call(arguments, 2) : []; 從呼叫的方法 (function) 直接使用 arguments 取得所有帶進去 function 中的參數,傳進去的參數數目必需要大於限制,這邊是 3 ,接著才會將第三個以後傳入的參數做分割。 這邊使用了 call 這個方法,不太曉得的人可以,call 會直接執行此 slice 這個方法。 使用 call 這樣的方式執行,第一個傳遞進去的變數,就是 this ,需要告訴這個方法,呼叫者是誰 (傳說中的 JavaScript, what is this)。 後面就可以依

[分享] Mac installed software 安裝軟體清單

Mac installed software 最近也用了 Mac 一段時間,分享一下目前 Mac 裡面到底安裝了哪些東西,順便整理一下自己的硬碟,因為是自己要使用的軟體清單列表,就不一一描述功能,如果對於軟體名稱不熟悉,可以透過 Google 詢問。 如果有更好用的軟體,歡迎討論 Sublime text 2 Text editor Adium instanst message Yahoo 中文輸入法 中文輸入法 Welly Connect to BBS AppCleaner remove application completely Google Chrome Chrome browser Mozilla Firefox Firefox Browser Evernote Evernote for Mac Skitch Screen Capature iTerm2 terminal connect tool iwork iWork 2012 MS Office Microsoft Office for Mac Xcode Xcode Adobe Reader PDF Reader Adobe PhotoShop Adobe PhotoShop MacTubs YouTube video downloader VLC Player VLC Player for Streaming video Divvy window align tool [flip for Mac - wmv player] SmartGit Filezilla Windows 遠端桌面 Caffine homebrew Dropbox client Google 雲端硬碟 Picasa for Mac Skype Synergy Colloquy - connect to IRC Sequel Pro  MySQL client tool keka  - 解壓縮軟體, 軟體介紹