Time of Update: 2018-12-08
繼承的方式ECMAScript 實現繼承的方式不止一種。這是因為 JavaScript 中的繼承機制並不是明確規定的,而是通過模仿實現的。這意味著所有的繼承細節並非完全由解釋程式處理。作為開發人員,你有權決定最適用的繼承方式。最原始的繼承實現方式就是對象冒充,下面著重介紹該方法。對象冒充對象冒充實現繼承的核心其實依賴於在函數環境中使用 this 關鍵字。其原理如下:建構函式使用 this 關鍵字給所有屬性和方法賦值(即採用類聲明的建構函式方式)。因為建構函式只是一個函數,所以可使 ClassA
Time of Update: 2018-12-08
call() 方法call() 方法是與經典的對象冒充方法最相似的方法。它的第一個參數用作 this 的對象。其他參數都直接傳遞給函數自身。例如:複製代碼 代碼如下:function sayHello(sPrefix,sSuffix) { alert(this.name + ”says“ + sPrefix + sSuffix);};var obj = new Object();obj.name = "Tom";sayHello.call(obj, "Hello ", "World.");
Time of Update: 2018-12-08
以下為建構函式方法建立類:複製代碼 代碼如下:function className (prop_1, prop_2, prop_3) { this.prop1 = prop_1; this.prop2 = prop_2; this.prop3 = prop_3;}有了上面的類,我們就可以為類建立執行個體:複製代碼 代碼如下:var obj_1 = new className(v1, v2, v3)var obj_2 = new className(v1, v2,
Time of Update: 2018-12-08
for迴圈:複製代碼 代碼如下:for(i=start; i<end; i++) {}while迴圈: (注意, 若條件一直為真, 則會進入死迴圈, 瀏覽器就hang掉)複製代碼 代碼如下:while (condition) { //do something; //change condition;}遞迴:使用for迴圈做substring複製代碼 代碼如下:function substring(all, start, end) { for(i=start;
Time of Update: 2018-12-08
window.close(),一看就知道是用來關閉瀏覽器視窗的方法。W3CSchool對該方法的解釋如下:方法 close() 將關閉有 window 指定的頂層瀏覽器視窗。某個視窗可以通過調用 self.close() 或只調用 close() 來關閉其自身。只有通過 JavaScript 代碼開啟的視窗才能夠由 JavaScript 代碼關閉。這阻止了惡意的指令碼終止使用者的瀏覽器。 在IE中,window.close()能生效,在生效的時候,會彈出提示框,詢問你是否關閉該視窗,:
Time of Update: 2018-12-08
JS中聲明全域變數主要分為顯式聲明或者隱式聲明下面分別介紹。聲明方式一:使用var(關鍵字)+變數名(標識符)的方式在function外部聲明,即為全域變數,否則在function聲明的是局部變數。該方式即為顯式聲明詳細如下:複製代碼 代碼如下:var test = 5; //全域變數function a(){ var cc=3; //局部變數 alert(test);}function
Time of Update: 2018-12-08
如果用原型方式重定義前面例子中的類,它們將變為下列形式:複製代碼 代碼如下:function ClassA() {}ClassA.prototype.color = "blue";ClassA.prototype.sayColor = function () { alert(this.color);};function ClassB() {}ClassB.prototype = new ClassA();原型方式的神奇之處在於最後一行代碼。這裡,把 ClassB 的 prototype
Time of Update: 2018-12-08
變數命名還應遵守以下某條著名的命名規則:著名的變數命名規則Camel 標記法首字母是小寫,接下來的字母都以大寫字元開頭。例如:複製代碼 代碼如下:var testValue = 0, secondValue = "hi";Pascal 標記法首字母是大寫的,接下來的字母都以大寫字元開頭。例如:複製代碼 代碼如下:var TestValue = 0, SecondValue = "hi";匈牙利類型標記法在以 Pascal
Time of Update: 2018-12-08
1.讓文字框只允許輸入數字,運用asp.net mvc3.0的文字框控制項 複製代碼 代碼如下:@Html.TextBox("txt",null, new {@style="width:300;",onkeypress="return RegValidateIsDigit(event)" }) 可以看到在文字框中註冊了onkeypress事件,當在文字框中輸入一個字元按下鍵盤的時候就會觸發該JavaScript的函數 複製代碼 代碼如下:<script
Time of Update: 2018-12-08
建構函式、原型實現繼承的缺陷首先來分析建構函式和原型鏈兩種實現繼承方式的缺陷:建構函式(對象冒充)的主要問題是必須使用建構函式方式,且無法繼承通過原型定義的方法,這不是最好的選擇。不過如果使用原型鏈,就無法使用帶參數的建構函式了。開發人員如何選擇呢?答案很簡單,兩者都用。建構函式+原型混合方式這種繼承方式使用建構函式定義類,並非使用任何原型。建立類的最好方式是用建構函式定義屬性,用原型定義方法。這種方式同樣適用於繼承機制,用對象冒充繼承建構函式的屬性,用原型鏈繼承 prototype
Time of Update: 2018-12-08
1.利用Boolean對象進行轉換複製代碼 代碼如下:var num123 = 123, str = 'abc', o = {name:'test'}, num0 = 0; num123 = Boolean(num123); //true num0 = Boolean(num0); //false str = Boolean(str); //true o = Boolean(o); //true2.
Time of Update: 2018-12-08
一、基本概念 encodeURI和decodeURI是成對來使用的,因為瀏覽器的地址欄有中文字元的話,可以會出現不可預期的錯誤,所以可以encodeURI把非英文字元轉化為英文編碼,decodeURI可以用來把字元還原回來。encodeURI方法不會對下列字元進行編碼:":"、"/"、";" 和 "?",encodeURIComponent方法可以對這些字元進行編碼。 decodeURI()方法相當於java.net.URLDecoder.decode(URIString, "UTF-8");
Time of Update: 2018-12-08
JavaScript採用Regex實現startWith、endWith效果函數複製代碼 代碼如下:String.prototype.startWith=function(str){ var reg=new RegExp("^"+str); return reg.test(this); } String.prototype.endWith=function(str){ var reg=new RegExp(str+"$");
Time of Update: 2018-12-08
在JS中,建立對象(Create Object)並不完全是我們時常說的建立類對象,JS中的對象強調的是一種複合類型,JS中建立對象及對對象的訪問是極其靈活的。 JS對象是一種複合類型,它允許你通過變數名儲存和訪問,換一種思路,對象是一個無序的屬性集合,集合中的每一項都由名稱和值組成(聽起來是不是很像我們常聽說的HASH表、字典、健/值對?),而其中的實值型別可能是內建類型(如number,string),也可能是對象。 一、由一對大括弧括起來 複製代碼 代碼如下:var emptyObj = {
Time of Update: 2018-12-08
近來的使用者,越來越強調 UI 介面的互動,漸漸原本對一條小龍來說只是配角的 JavaScript (以下簡稱 JS) 變成的主角,佔了很大一塊的用途。像是最近很熱門的 ASP.NET 的 MVC 裡面就直接Include JQuery 可見一般。 MVC 用了一陣子,一條小龍甚至感覺 MVC 中的 Controller 根本就是 JS 在控制的,這樣怎麼把 UI 工作獨立,切給美工用,感覺也是蠻大的疑問。 看來後面的美工,只會繪圖、拉畫面是不行的,一定要會 JS、Flash 等等前端控制語言,
Time of Update: 2018-12-08
複製代碼 代碼如下:<html> <head> <title></title> <script type="text/javascript"> function ShowMessage(message) { alert(message); } function
Time of Update: 2018-12-08
今天在寫一DEMO,其中用到了jQuery的$.getJSON方法,寫完後發現整個DEMO中用到jQuery中的就這一個地方,但要引入一個jQuery實在不划算,於是就自己實現了一個簡單版的,基本可以滿足需求,現分享出來:複製代碼 代碼如下:var $ = { getJSON: function(url, params, callbackFuncName, callback){ var paramsUrl ="", jsonp =
Time of Update: 2018-12-08
演算法的核心是部分匹配表和回退演算法,部分匹配表的實現如下:複製代碼 代碼如下:function kmpGetStrPartMatchValue(str) { var prefix = []; var suffix = []; var partMatch = []; for(var i=0,j=str.length;i<j;i++){ var newStr = str.substring(0,i+1); if(newStr.length
Time of Update: 2018-12-08
一、在HTML中嵌入Javasript的方法1.直接在Javascript代碼放在標記對<script>和</script>之間2.由<script />標記的src屬性制定外部的js檔案3.放在事件處理常式中,比如:<p onclick="alert('我是由onclick事件執行的Javascript')">點擊我</p>4.作為URL的主體,這個URL使用特殊的Javascript:協議,比如:<a
Time of Update: 2018-12-08
一般情況下兩者的調用結果是一樣的,但是還是有區別的。 第一種方式: 複製代碼 代碼如下:function a(){ alert('old'); } var b=a; function a(){ b(); alert('new'); } a();//瀏覽器就會出現記憶體溢出的情況 第二種方式: 複製代碼 代碼如下:function a(){ alert('old'); } var b=a; var a=function(){ b(); alert('new'); }