發表文章

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

Vim diff常用的快速鍵

Keyboard Shortcuts:

do - Get changes from other window into the current window.

dp - Put the changes from current window into the other window.

]c - Jump to the next change.  跳到下一個改變的地方

[c - Jump to the previous change. 跳到上一個改變的地方

Ctrl W + Ctrl W - Switch to the other split window. 切換到另一個視窗

Ctrl W + > or Ctrl W + <  調整視窗大小


如果你只有兩個檔案的話,你要copy跟目前的檔案不同的地方就用:
:diffget
或是
:diffput

如果你超過兩個檔案的話,你可以用加視窗的編號
:diffget b#

這邊的 b# 指的是視窗的編號。在垂直視窗最左邊的編號是1

ex. 如果我目前在視窗1,但是我要將視窗2的不同的部份copy過來視窗1
     就用:diffget 2,這樣就可以了,但前提必須先用 ]c or [c。


parseInt有趣的問題

我在Javascript.tw的facebook有人分享了一個題目parseInt(1/0,19)的答案是多少呢?
經由上面的高手講解後,我總算是瞭解了。我也順便分享一下理解出來的過程。

    你可以用一些javascript的debug工具去看答案是18,那為什麼是18呢?

    首先你可以看一下parseInt的用法:http://www.w3schools.com/jsref/jsref_parseint.asp

parseInt(string, radix)

    第一個輸入的值會是string,而(1/0).toString是"Infinity"的字串
而radix輸入的數字是19,所以他的基底是到j(如果不懂的話,想一下16進0~f)

16進位  0 1 2 3 4 5 6 7 8 9   a   b   c   d   e   f
19進位  0 1 2 3 4 5 6 7 8 9   a   b   c   d   e   f   g   h   i    j
10進位  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

    所以當parseInt parse "Infinity"的字串到I就會停止了所以結果就會傳回18,
因為下一個字n並沒有在radix的範圍內,所以parseInt就不會繼續paese下去。

console.log(parseInt('n', 19)); // 結果是NaN

    接著parseInt('ab', 19)的結果會是多少呢?答案是201為什麼呢?
一樣想著16進位轉10進位的方法就可以知道為什麼了。

a = 10, b= 11
10*19^1 + 11*19^0 = 190+11 = 201

JQuery自製下拉式選單

Ref. 1 http://docs.jquery.com/Plugins/Authoring

    最近看了別人做的下拉式選單,覺得很有趣就想說用自己的邏輯跟用jQuery來
實作一下,但這個是很陽春的版本,沒有做什麼特效。至於我也參考了Ref. 1的
資料來做jQuery的plugin,至於為什麼要做plugin的原因是我想把這隻程式跟index.html
給分離開來好管理,如果對我這種作法有任何疑問跟有更好的想法希望能讓我知道然後
可以一起討論。

    如果想線上看效果可以上以下的網站去看:
http://jsfiddle.net/aDSdr/9/

那我也直接貼程式碼來跟大家分享:
============ index.html ===============

<script>
    $(document).ready(function(){
        $('#input1').selectDrop();
});
</script>

<div id="warper1">
<select name="" id="select1" style="display:none;">
<option value="高雄" >高雄<