Time of Update: 2018-12-08
首先,在JS中函數也是一種標識符,可以將它賦值給新的變數,也可以通過這個變數來調用。這有點像C語言的函數指標,不過也不完全一樣,如下面的代碼: 複製代碼 代碼如下:function myfun() { alert("funcation call"); } var fun = myfun; fun(); 再有一個值得說一下的,就是JS中的函數的參數不一定是嚴格匹配的,通常的編程經驗,比如有這樣一個函數
Time of Update: 2018-12-08
複製代碼 代碼如下://檢查是否非空 function notEmpty(obj, msg) { str = obj.value; str1 = ""; for (i = 0; i < str.length; i++) { if (str.charAt(i) != " ") { str1 = str.substr(i, str.length); break; } } if (str1 == "") { alert(msg); obj.value = ""; obj.focus();
Time of Update: 2018-12-08
不同的是setInterval會每隔指定的時間段就執行一次代碼,具有重複性。而setTimeout只會調用後執行一次。 下面通過函數的建立和函的自動刪除來深刻理解兩個函數; 1.函數的建立 setTimeOut的建立: 複製代碼 代碼如下:showTime(); function showTime() { var today = new Date(); alert("The time is: " + today.toString()); setTimeout("showTime()", 5000
Time of Update: 2018-12-08
為什麼結果會是false呢? 複製代碼 代碼如下:<script type="text/javascript"> var aColors = ["red", "green", "blue"]; alert(typeof aColors[0]); //output "string" alert(aColors[0] instanceof String); //output "false"; </script> 你要區分string 與 String的區別 aColors[0
Time of Update: 2018-12-08
在JavaScript中資料類型分為整型和浮點型,這裡的浮點型沒有單精確度和雙精確度之分同一使用雙精確度進行表示,所有變數的聲明只需使用var(好簡單啊,不要再記int long float double……)你付給它什麼類型的值,它就是什麼類型。也不要區分字元和字串,在以前好像有時候,在使用C#的時候好像有 “……不能作為字串來使用”。很容易記住,哈哈…………
Time of Update: 2018-12-08
【eval()函數】 JavaScript有許多小竅門來使編程更加容易。 其中之一就是eval()函數,這個函數可以把一個字串當作一個JavaScript運算式一樣去執行它。 舉個小例子: 複製代碼 代碼如下:var the_unevaled_answer = "2 + 3"; var the_evaled_answer = eval("2 + 3"); alert("the un-evaled answer is " + the_unevaled_answer + " and the
Time of Update: 2018-12-08
值得注意的 當傳入是Json類型的時候要var user = eval(result.d); 當傳入是字串的時候要用eval("exception = "+result.responseText); 複製代碼 代碼如下: $.ajax ( { type: "POST", contentType: "application/json", url: serviceURL+"/UserLogin",
Time of Update: 2018-12-08
甚至有個人問我“頁面上有5個文字框,每個文字框只能輸入一個字元,怎麼用js實現使用者輸入第一個文字框的後焦點自動跳到第二個。”。 我說這個功能不是應該是Tab做的嗎?使用者輸入後只要按一下Tab鍵就可以了,而且,這樣使用者還可以控制是否切換到下一個(因為使用者也有輸入錯誤的可能)。 但他執意堅持,說是老闆要求的。我最後只好幫他把這個功能實現了。但就是感覺怪怪的。 以前剛剛會用js時,感覺js好神奇,可以把一些很複雜的功能變得簡單而輕鬆。後來慢慢知道js有很多事情不能做,像操作用戶端的檔案等。
Time of Update: 2018-12-08
也許有些高手早已知道了,但是我覺得這兩個東西還是有一些價值的,所以拿到這裡和大家分享一下吧. 有如下代碼: 複製代碼 代碼如下:<script type="text/javascript" > function test() { with (location) { var temp = "an url"; } alert(temp); } test(); </script> 調用這個函數會輸出什麼呢? 也許會認為它會彈出undefined, 但實際上,它彈出的是"
Time of Update: 2018-12-08
下面是選擇題:官方地址是 http://perfectionkills.com/javascript-quiz/ 複製代碼 代碼如下:1. (function(){ return typeof arguments; })(); “object” “array” “arguments” “undefined” 2. var f = function g(){ return 23; }; typeof g(); “number” “undefined” “function” Error 3.
Time of Update: 2018-12-08
一般事件 事件 瀏覽器支援 描述 onClick IE3|N2|O3 滑鼠點擊事件,多用在某個對象控制的範圍內的滑鼠點擊 onDblClick IE4|N4|O 滑鼠雙擊事件 onMouseDown IE4|N4|O 滑鼠上的按鈕被按下了 onMouseUp IE4|N4|O 滑鼠按下後,鬆開時激發的事件 onMouseOver IE3|N2|O3 當滑鼠移動到某物件範圍的上方時觸發的事件 onMouseMove IE4|N4|O 滑鼠移動時觸發的事件 onMouseOut IE4|N3|O3
Time of Update: 2018-12-08
javascript中,對象沒有原型,而構造器有原型 原型的含義:如果構造器有一個原型對象 A,則由該構造器建立的執行個體都必然複製自A 複製代碼 代碼如下:/*申明2個構造器*/ var flower=function(){ this.name="nokia"; } var flower2=function(){ this.age=22; } /*原型鏈*/ flower2.prototype=new flower(); /*根據剛才原型的定義,執行個體obj必然複製自new flower()
Time of Update: 2018-12-08
這個目前世界上最短的 Javascript 判定 IE 瀏覽器的方法來自俄羅斯!它已經在各版本的 IE 以及目前其他流行的瀏覽器上經過測試,基於 IE 的 Bug,微軟雖然已經意識到,但是從來沒有糾正過。 複製代碼 代碼如下:<script type='text/javascript'> var ie = !-[1,]; alert(ie); </script> 以上代碼運行結果:IE 下返回true,其他標準瀏覽器返回false。!-[1,],僅僅只有 6 bytes!
Time of Update: 2018-12-08
關於什麼是匿名函數,及它帶來的優勢在本文就不深究了,先拋出一個常用的匿名函數: (function(){alert('yo')})() 很多同學知道怎麼用這種匿名函數,卻或許並不明白為什麼這樣寫就能夠調用匿名函數。也許知道後面的圓括弧是執行前面的函數,而並不清楚前面的圓括弧具有何種含義!本文將帶你瞭解匿名函數的代碼模式原理。 OK,先來看看更多匿名函數調用模式: 複製代碼 代碼如下:(function(){alert(1);}()) (function(){alert(2);})() void
Time of Update: 2018-12-08
1.先寫兩個最常用最簡潔的滾動代碼 代碼如下: 水平滾動: <marquee direction="left" align="bottom" height="25" width="100%" onmouseout="this.start()" onmouseover="this.stop()" scrollamount="2" scrolldelay="1">水平滾動字幕內容</marquee> 垂直滾動: <marquee direction="up"
Time of Update: 2018-12-08
所以javascript中沒有類的概念。理解這一點很重要,很多javascript教程為了讓讀者更容易理解,會套用他們常用的類模式中的概念,這 樣反而讓大家產生歧義。 先進段代碼, 複製代碼 代碼如下:function employee(){ this.name=""; this.dept=""; } employee.prototype={ say:'hello' } var p = new employee();
Time of Update: 2018-12-08
(1) 在全域執行環境中使用this,標識Global對象,在瀏覽器中就是window對象。 (2)當在函數執行環境中使用this時,如果函數沒有明顯的作為非window對象的屬性,而是只是定義了函數,不管這個函數是不是定義在另一個函數中,這個函數中的this仍然標識window對象。如果函數顯示地作為一個非window對象的屬性,那麼函數中的this就代表這個對象。 複製代碼 代碼如下:var o=new Object; o.func=function() { alert((this===o)
Time of Update: 2018-12-08
按照我一貫的web開發風格,所有不直接操作資料庫的事件,都儘可能由javascript來實現,所以這個需求我打算使用js來完成。 首先來分析一下具體情況:這個頁面是一個更新頁面,品牌有品牌1和品牌2兩個欄位,品牌2可以為空白,品牌1不可為空,所以品牌2的下拉式清單方塊比品牌1多一項;如果選擇了品牌的前8相中的任意一項,“活躍狀態”要隱藏,否則“活躍狀態”預設顯示狀態為“潛在”;當查詢的結果品牌1和品牌2有任意一項在品牌的前8相中,“活躍狀態”也要隱藏,否則“活躍狀態”預設顯示狀態為“潛在”。
Time of Update: 2018-12-08
第一種類型就是前面所說的私人類型,它的特點是對外界完全不具備訪問性,要訪問它們,只有通過特定的getter和setter。 第二種類型是動態公有類型,它的特點是外界可以訪問,而且每個對象執行個體持有一個副本,它們之間不會相互影響。 第三種類型是靜態公有類型,或者通常叫做原型屬性,它的特點是每個對象執行個體共用唯一副本,對它的改寫會相互影響。 第四種類型是類屬性,它的特點是作為類型的屬性而不是對象執行個體的屬性,在沒有構造對象時也能夠訪問,下面通過例子說明這四種屬性類型各自的特點和區別:
Time of Update: 2018-12-08
導致資料庫跑任務出現錯誤(任務根據日期來計算狀態的,由於資料量比較大,都做成任務夜裡跑),為了避免再出現此類的錯誤,所以增加了一個驗證日期有效性的javascript方法。 本方法能夠有效驗證閏年,支援的日期格式有:2009-01-01、2009/01/01兩種格式。 javascript代碼 複製代碼 代碼如下://判斷日期是否合法 function IsDate(oTextbox) { var regex = new RegExp("^(?:(?:([0-9]{4}(-|\/)(?:(?:0