Time of Update: 2018-12-08
當變數A賦值給變數B時,會將棧中的值複製一份到為新變數分配的空間中。 如何理解? 複製代碼 代碼如下:var x = y = 1; y = 2; alert(x); x的值為多少? 複製代碼 代碼如下:var obj = {}; var sub = {}; sub['id'] = 3; obj['sub'] = sub; sub['id'] = 4; alert(obj['sub']['id']); obj['sub']['id']的值又為多少?他們真的符合你的預期嗎?
Time of Update: 2018-12-08
作為排序依據的資料項目稱為“排序碼”,也即資料元素的關鍵碼。為了便於尋找,通常希望電腦中的資料表是按關鍵碼有序的。如有序表的折半尋找,尋找效率較高。還有,二叉排序樹、B-樹和B+樹的構造過程就是一個排序過程。若關鍵碼是主關鍵碼,則對於任意待排序序列,經排序後得到的結果是唯一的;若關鍵碼是次關鍵碼,排序結果可能不唯一,這是因為具有相同關鍵碼的資料元素,這些元素在排序結果中,它們之間的的位置關係與排序前不能保持。
Time of Update: 2018-12-08
說明 寫這個主要是為了鍛煉自己,並無實際意義。 每個瀏覽器測試得出的資料會不一樣。比如我用chrome 測試 一般快速排序都會最快,IE 則根據數組長度有可能希爾最快。 不要用太大資料去測試冒泡排序(瀏覽器崩潰了我不管) 如果有興趣可以 下載測試頁面 個人理解 冒泡排序:最簡單,也最慢,貌似長度小於7最優 插入排序: 比冒泡快,比快速排序和希爾排序慢,較小資料有優勢 快速排序:這是一個非常快的排序方式,V8的sort方法就使用快速排序和插入排序的結合 希爾排序:在非chrome下數組長度小於10
Time of Update: 2018-12-08
注意:在firefox下 添加字串的時候有個bug 就是scrollTop 會等於0,當然解決了,但是不夠完美。如果有高手也研究過,麻煩指點下。完整測試代碼:複製代碼 代碼如下:<textarea id="testlujun" style="width: 300px; height: 50px;">abcdefghijklmnopqrstuvwxyz</textarea><br /><input
Time of Update: 2018-12-08
jQ的ui有,YUI的widget裡也有。而且也封裝的結結實實,相容性,通用性,都做得挺好。於是在代碼完善的同時,代碼量自然也不會少。即使建立在基礎庫之上,代碼也是好幾百行。 真正使用的時候可能並不需要這麼完善的功能。咱們就寫個簡陋點的東西,夠自己用就行了。 而且以前有朋友提出我發的東西都是一些娛樂貨,沒有什麼實用性,這次就當是個開始,拋個磚,以後時不時發個帶一些實用性的東東。 <!-- 以下demo沒有什麼出彩的地方,僅供有需要的朋友看看 --> 岑安
Time of Update: 2018-12-08
xmlns="http://www.w3.org/1999/xhtml">
Time of Update: 2018-12-08
複製代碼 代碼如下:var JsObject = {} || new Object(); JsObject.extend = function(subClass, superClass){ //先判斷子類subClass是否已經定義,如果未定義,則重新定義類。 if(typeof subClass == "undefined")subClass = function(){}; //如果父類superClass是類,則轉化成對象 if(typeof superClass =
Time of Update: 2018-12-08
最簡單建立命名空間的方法: 複製代碼 代碼如下:var java = {}; java.util = {}; //這樣就建立成功了命名空間:java.util //我們可以在java.util下面加類(函數),屬性,或對象 java.util.HashMap = function() { this.ShowMessage = function() { alert("java.util.HashMap"); } } var map = new java.util.HashMap(); alert(
Time of Update: 2018-12-08
Writing maintainable Object-Oriented (OO) JavaScript will save you money and make you popular. Don't believe me? Odds are that either you or someone else will come back and work with your code. Making that as painless an experience as possible will
Time of Update: 2018-12-08
javascript中的類是用函數function表示的,如下:複製代碼 代碼如下:function Student() { //定義類Student中的欄位,並賦予初值,但此欄位的存取權限是public this.studentNo = 's001'; this.studentName = '小明'; this.sex = '男'; //定義類Student中的方法updateStudentName ,用於修改studentName 值 this.updateStudentName =
Time of Update: 2018-12-08
javascript中的對象建立聲明: var obj = {}; 或者 var obj = new Object(); 為對象加入屬性,方法: //=====第一種寫法==================================== obj.name = '小明'; //為對象加屬性 obj.updateName = function(name){//為對象定義updateName方法 this.name = name; } alert(obj.name);
Time of Update: 2018-12-08
範例程式碼如下: [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]它只替換了首字母。但如果加上Regex結果就不一樣了!replace()支援Regex,它可以按照Regex的規則匹配字元或字串,然後給予替換! 注意:被替換的部分不用加雙引號. [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]這樣還是只替換了第一個字母a。 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]由上可知,當Regex有"g"標誌時,代表將處理整個字串. [Ctrl+A 全選
Time of Update: 2018-12-08
在IE中我們可以利用sourceIndex,標準瀏覽器我們可以用compareDocumentPosition,但對於舊一點的標準瀏覽器呢?XML呢?因此我們就需要根據一個節點的屬性確定它與另一個節點的關係了。
Time of Update: 2018-12-08
複製代碼 代碼如下:(function () { var KMock = window.KMock = function () { } KMock.prototype.setup = function (methodName) { var instance = this; instance[methodName] = { returnAs: function (fn) { instance["_" + methodName] = function () {
Time of Update: 2018-12-08
event對象只在事件發生的過程中才有效。 event的某些屬性只對特定的事件有意義。比如,fromElement 和 toElement 屬性只對 onmouseover 和 onmouseout 事件有意義。 例子 下面的例子檢查滑鼠是否在連結上單擊,並且,如果shift鍵被按下,就取消連結的跳轉。 <HTML> <HEAD><TITLE>Cancels Links</TITLE> <SCRIPT
Time of Update: 2018-12-08
下面我們通過這個例子介紹1個更簡單的方法: 我們用將統計代碼儲存到1個檔案:檔案路徑:/config/counter.conf 統計代碼如下: 複製代碼 代碼如下:<script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-18744406-1']); _gaq.push(['_trackPageview']); (function() { var ga =
Time of Update: 2018-12-08
HTML Title: 複製代碼 代碼如下: <title>你好,Mr-S.R Lee</title>JavaScript: 複製代碼 代碼如下:<script type="text/javascript"> function scroll() { //擷取title資訊。 var titleInfo = document.title; //擷取title第一個漢字(數字、字母)。 //注釋:字串中第一個字元的下標是 0。如果參數 index 不在 0 與
Time of Update: 2018-12-08
1. shift:刪除原數組第一項,並返回刪除元素的值;如果數組為空白則返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 2. unshift:將參數添加到原數組開頭,並返回數組的長度 var a = [1,2,3,4,5]; var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7 註:在IE6.0下測試傳回值總為undefined,FF2.0下測試傳回值為7
Time of Update: 2018-12-08
首先是最常規的方法: 程式碼 複製代碼 代碼如下:<p id="para" title="cssrain demo!" onclick="test()" >test</p> <script> function test(){ alert("test"); } </script> 當某一天,我們知道JavaScript要跟HTML結構實現分離後,就會改了一種寫法: 程式碼 複製代碼 代碼如下:<p id="para"
Time of Update: 2018-12-08
首先在頁面加入avtivex 複製代碼 代碼如下:<object classid="clsid:B094CE95-40EA-4798-99DC-4B8CE548121F" height="100%" width="100%" id="UiMonitor"> </object> javascript 代碼 複製代碼 代碼如下:<%--使用activex事件--%> <script type="text/javascript"