Ruffy javascript 學習筆記

來源:互聯網
上載者:User

1,javascript的原型模型:prototype 在實現物件導向,(像是定義一個類的時候)需要一個建構函式來定義對象的成員,而方法去依附在該建構函式的原型上.

2,javascript中,為了實現繼承,必須將子類建構函式的prototype設定為一個父類的對象執行個體.

3,css的方塊套方塊模型:
最外是margin 是用來設定一個元素所佔的空間的邊緣到相鄰元素的距離
邊框:border 用來設定一個元素的連線
padding 用來設定元素內容互元素邊框的距離
還有背景屬性是content 和 padding 地區,即內容和間隙
css中的屬性中的 width 和 height 指的是 content 地區的寬和高,這是IE中,在firefox裡得加上上面的邊邊框框。

4,System.Drawing.Imaging.BitmapData..將一個bitmap鎖定到記憶體中..
有兩個函數將映像資料鎖定到記憶體中
一個是:Bitmap.LockBits(Rectangle rect,ImageMode flags,PixelFormat format)
還有一個是:Bitmap.LockBits(Rectangle rect,ImageMode flags,PixelFormat format,BimapBitData bitmapData)
bitmapData 有一個重要的屬性Scan0,是一個指標,指向圖片資料所在記憶體的第一個位置.使用記憶體跟蹤,將Scan0的值填入地址中,可以看到記憶體的分配情況.
我們可以用System.Runtime.InteropServices.Marshal.WriteByte(IntPtr ptr,byte val)來改更改指定位置的像素值了.
IntPtr 類型稱為"平台特定整數類型",它用於本機資源,如視窗控制代碼句.

5,反射:反射是一個運行庫類型探索的過程.通過反射可以得到一個給定程式集所包含的所有類型的列表,這個列表包括了給定類型中定義的方法,欄位,屬性和事件.也可以動態地發現一組給定類支援的介面,方法的參數和其他相關資訊如基類,命名空間,資料清單等.
javascript 裡的 for/in 語句:
for(variable in obj)
statement;
最有用的一個功能就是它可以枚舉一個對象所有可枚舉的屬性,包括原生屬性和繼承屬性,這樣就為javascript提供了一種很強大的反射機制.
例如:
--for(var each in document.body)
-- document.write(each+":"+document.body[each]+<br />);
--//枚舉並列印出body所有的屬性
variable 可以是任意的運算式..
比如:
--function keys(obj){
-- var ret= new Array();
-- var i=0;
-- for(ret[i++] in obj)
-- return ret;
-- }
以上函數將一個對象的屬性作為一個數組返回.

6,html-table 控制項cellpadding 儲存格裡的內容與儲存格之間的距離
cellspacing屬性工作表示儲存格之間的距離
對齊有:align 是水平對齊有left right center(指的是儲存格裡的元素在水平方向上的對齊)
vlign 是垂直對齊 有top bottom middle

7,Base64:按照RFC2045的定義,Base64被定義為:Base64內容傳送編碼被設計用來把任意序列的8位位元組描述為一種不易被人直接識別的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)

8,margin:0px auto 上下邊距為0px 左右自動調整。

9,js裡 opener 和 self的區別:opener對<開啟當前視窗的對象>的引用,如果當前視窗被使用者開啟,則opener的值為null
self自引用屬性,是對當前window對象的應用,與window屬性同義.
(self代表自身視窗,opener代表開啟自身的那個視窗,比如視窗A開啟視窗B.如果靠window.open方法,則對於視窗B,self代表B自己,而opener代表視窗A.)

10,wnd.location.search.slice(1); //得到地址欄上"?"後面的字串,wnd是一個window對象的引用.

11,運算式中g的含義
g /global 代表全域搜尋
i /ignore 代表忽略大小寫
gi 以上的組合

12,正向預查和反向預查
(?=pattern) (?!pattern) 非擷取,只是為了檢驗後面出現的是不是預想的字串

13,setcapture 滑鼠捕獲:滑鼠捕獲(setCapture)作用是將滑鼠事件捕獲到當前文檔的指定的對象。這個對象會為當前應用程式或整個系統接收所有滑鼠事件。setCapture捕獲以下滑鼠事件:onmousedown、onmouseup、onmousemove、onclick、ondblclick、onmouseover和onmouseout。

14,javascript 裡用in delete 和用對象作為集合,可以很方便的實現一個集合(delete 運算子刪除所指定的對象屬性,數組元素,或者變數.刪除成功返回true.同時 若運算數不存在時也返回true)
例如:
---var aSet= new Object();
---sSet["key"]=true; //插入新元素(無論是否已經存在)
---if("key1" in aSet)
--- delete aSet["key1"] //如果key1存在就刪除
---if(delete aSet["key2"])
--- aSet["key2"]=true; //刪除原有元素,更新key2

15,js裡的-0 和 |0 操作前者可以將一個字元隱式轉換為一個數字,後者會將一個符點數取整.

16,[] :存取對象和數組元素的雙目運算子。
當[] 的第二個運算數為對象時,先調用它的toString() 方法來進行轉換,如果轉換失敗,再調用valueOf()方法來轉換。

17,javascript異常總是沿呼叫堆疊向上傳播,事件傳播也是沿相同的方向.

18,javascript數組的length屬性不但可以讀還可以寫,設定數組的length為0,可以清除數組中的所有元素(不包括那些數組下標不為整數的數組元素.)

19,雖然null 和 undefined 不同但運算子 "==" 卻將它們視為相等的值(返回 true)

20,javascript 裝箱和拆箱:把基礎資料型別 (Elementary Data Type)轉換為對應的參考型別的操作被稱為裝箱,反之,把參考型別轉換為對應的實值型別,被稱為拆箱.

21,JSON :對象常量&常數陣列
javascript object notation javascript<對象表示方法>
JSON 是由javascript發展而來的一種簡單的資料交換協議,它的資料格式就是一個合法的javascript對象常量

22,absolute屬性與left、top配合起來製作相關的“懸浮層”效果。然而有時候我們需要針對某一個容器的懸浮效果,而不是針對視窗的。這時候通過高度、寬度的計算不但麻煩,而且幾乎無法完美實現效果。只要把其上一級的樣式屬性position設定為relative就可以了。如用div 嵌套 ul 和 li

23,關於DOM元素的移動:用object.appendChild(object.firstChild)可以將第一個元素移到最後,但是這在table元素上應用的時候的移動了</body>標籤外面(不顯示)..所以移動table元素裡的行的時候應該用MoveRow 方法.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.