Time of Update: 2017-01-19
在Javascript指令碼中,參數的引用原則:引用的參數內部(如屬性)可以修改,但參數對應的引用(reference)不能修改。 一個測試例子如下: 複製代碼 代碼如下: <script language="javascript"> //dosomething1,對於引用,變數本身不可以修改,但變數內部結構可以修改 function dosomething1(a){ a = 'try'; } //測試1 function test1(){ var a = {a:'test',b:'
Time of Update: 2017-01-19
你可能知道,Javascript語言的執行環境是"單線程"(single
Time of Update: 2017-01-19
JS的函數定義可以指定形式參數名稱,多多少少我們會以為js至少可以支援參數個數不同的方法重載,然而遺憾的是這僅僅是一個假象,js所有的參數都是以arguments傳遞過去的,這個參數類似於數組,在函數調用的時候,所有的實參都是儲存在了這個資料結構裡面,我們定義函數的時候所指定的形式參數其實是為這個資料結構裡面的資料定義一個快捷的訪問方式。也就是說js所有的函數都是支援無限個參數的,加上資料類型是弱類型,那麼JS的函數除了名稱就真的沒有方法區別了?辦法總是有的,我們可以利用JavaScript中的
Time of Update: 2017-01-19
JavaScript類屬性的訪問方式 複製代碼 代碼如下: var fish = { head : 1, tail : 1, feature : { speak : false, swim : true } } 其一,點操作符: 複製代碼 代碼如下: console.log(fish.head);//1 console.log(fish.tail);//1 console.log(fish.feature);//Object { head:1, tail:1, feature: Object}
Time of Update: 2017-01-19
(一)轉換為字串複製代碼 代碼如下:X + ''toString()String()函數轉換為字串一般是將函數體輸出,不過可以重寫其toString方法(二)轉換為數字複製代碼 代碼如下:parseInt(),parseFloat()使用Number(),前面不要加new,這樣就轉換成對象了。參與數學運算(加法除外)+ X
Time of Update: 2017-01-19
2009年12月,ECMAScript發布了ECMAScript 5,這距離上一個版本的ECMAScript 3標準發布已經整整十年了,其間JavaScript雖然大行於web編程,ECMAScript 4卻最終因為利益相關的各大廠商和組織在此語言的複雜性(即是否增加大量特性以擴充ECMAScript的功能)上的分歧而夭折,使得ECMAScript新標準的制訂大大落後於編程的實踐。ECMAScript
Time of Update: 2017-01-19
this是物件導向語言中一個重要的關鍵字,理解並掌握該關鍵字的使用對於我們代碼的健壯性及優美性至關重要。而javascript的this又有區別於Java、C#等純物件導向的語言,這使得this更加撲朔迷離,讓人迷惑。this使用到的情況:1. 純函數2. 對象方法調用3. 使用new調用建構函式4. 內建函式5. 使用call / apply 6.事件綁定1. 純函數複製代碼 代碼如下:var name = 'this is window';
Time of Update: 2017-01-19
複製代碼 代碼如下:result = 【整數1】 & 【整數1】& 對兩個 32 位運算式的每一個位執行按位“與”運算。 如果兩個位均為 1,則結果是 1。 否則,結果為 0。位1位2位與000111010100下面的樣本示範如何使用 & 位與運算子和 &= 按位與賦值運算子:複製代碼 代碼如下: // 9 二進位是 1001,補足32位為 00000000000000000000000000001001 var expr1 = 9; // 5 是 00000000000000000000000
Time of Update: 2017-01-19
Javascript 按位與賦值運算子 (&=),對變數值與運算式值設定按位“與”運算的結果。 變數和運算式均被視為 32 位二進位值,而一般運算式裡面都是十進位整數,此時需要先轉換成對應的二進位,然後向前加0,補足32位。複製代碼 代碼如下:result &= 【整數2】等價於result = result & 【整數2】& 對兩個 32 位運算式的每一個位執行按位“與”運算。 如果兩個位均為 1,則結果是 1。 否則,結果為 0。位1位2位與000111010100下面的樣本示範如何使用 &
Time of Update: 2017-01-19
按位左移運算子 (<<)左移運算式的位。result = expression1 << expression2參數result任何變數。expression1任何錶達式。expression2任何錶達式。說明<< 運算子把 expression1 的所有位向左移 expression2 指定的位元。例如: var temptemp = 14 << 2變數 temp 的值為 56,因為 14 (即二進位的 00001110)向左移兩位等於 56
Time of Update: 2017-01-19
複製代碼 代碼如下:result = ~ 【數字】所有一元運算子(如 ~ 運算子)都按照下面的規則來計算運算式的值:複製代碼 代碼如下:1、 如果應用於未定義的運算式或 null 運算式,則會引發一個執行階段錯誤。2、 將對象轉換為字串。3、 如果可能,將字串轉換為數字。 否則,將引發執行階段錯誤。4、 布爾值被視為數字(如果為 false,則為 0;如果為 true,則為 1)。運算子將應用於結果數字。~ 運算子查看錶達式的二進位表示形式的值,並執行位非運算。運算式中的任何一位為
Time of Update: 2017-01-19
Javascript的繼承和標準的oop繼承有很大的區別,Javascript的繼承是採用原型鏈的技術,每個類都會將“成員變數”和“成員函數”放到 prototype 上,Js++都過superclass將其連結起來,即 C.prototype.superclass = C.superclass = P.prototype;當 var c = new C()時,c.__proto__ = C.prototype ;當
Time of Update: 2017-01-19
在一些類似c語言的程式設計語言中,花括弧內的每一段代碼都具有各自的範圍,而且變數在聲明他們的程式碼片段之外是不可見的,我們稱為塊級範圍(block scope),而javascript中沒有塊級範圍。取而代之的javascript使用的是函數範圍(function scope):變數在聲明它的函數體以及這個函數體嵌套的任意函數體內都是有定義的。 在如下代碼中,在不同位置定義的i,j和k,他們再同一個範圍內都是有定義的複製代碼 代碼如下:function text(o) {
Time of Update: 2017-01-19
this的工作原理如果一個函數被作為一個對象的方法調用,那麼this將被指派為這個對象。複製代碼 代碼如下:var parent = { method: function () { console.log(this); }};parent.method();// <- parent
Time of Update: 2017-01-19
window.history對象在編寫時可不使用 window 這個首碼。為了保護使用者隱私,對 JavaScript 訪問該對象的方法做出了限制。方法:history.back() - 載入曆史列表中的前一個URL,這與在瀏覽器中點擊前進按鈕是相同的history.forward() - 載入曆史列表中的下一個URL,這與在瀏覽器中點擊前進按鈕是相同的執行個體:複製代碼 代碼如下:<html><button name="back" value="後退"
Time of Update: 2017-01-19
1.警告框警告框經常用於確保使用者可以得到某些資訊。當警告框出現後,使用者需要點擊確定按鈕才能繼續進行操作。文法:複製代碼 代碼如下:alert("文本")2.確認框確認框用於使使用者可以驗證或者接受某些資訊。當確認框出現後,使用者需要點擊確定或者取消按鈕才能繼續進行操作。如果使用者點擊確認,那麼傳回值為 true。如果使用者點擊取消,那麼傳回值為 false。文法:複製代碼 代碼如下:confirm("文本")
Time of Update: 2017-01-19
在 JavaScritp 中使用計時事件是很容易的,兩個關鍵方法是:setTimeout()未來的某時執行代碼clearTimeout()取消setTimeout()setTimeout()文法複製代碼 代碼如下:var t=setTimeout("javascript語句",毫秒)setTimeout() 方法會返回某個值。在上面的語句中,值被儲存在名為 t 的變數中。假如你希望取消這個 setTimeout(),你可以使用這個變數名來指定它。setTimeout() 的第一個參數是含有
Time of Update: 2017-01-19
什麼是cookie?cookie是儲存於訪問者的電腦中的變數。每當同一台電腦通過瀏覽器請求某個頁面時,就會發送這個 cookie。你可以使用 JavaScript 來建立和取回 cookie 的值。cookie使用情境:名字cookie當訪問者首次訪問頁面時,他或她也許會填寫他/她們的名字。名字會儲存於 cookie 中。當訪問者再次訪問網站時,他們會收到類似 "Welcome John Doe!" 的歡迎詞。而名字則是從 cookie
Time of Update: 2017-01-19
複製代碼 代碼如下: <script type="text/javascript"> //驗證一般網域名稱校正 function checkNetURL(){ var netURL = document.getElementById("netURL"); //驗證一般的網域名稱 比如說 www.baidu.com var regStr="^([a-zA-Z0-9-]+\\.){1,}(com|net|edu|miz|biz|cn|cc)$"; var re=new
Time of Update: 2017-01-19
1.丟棄小數部分,保留整數部分parseInt(5/2)2.向上取整,有小數就整數部分加1Math.ceil(5/2)3,四捨五入.Math.round(5/2)4,向下取整Math.floor(5/2)Math 對象的方法FF: Firefox, N: Netscape, IE: Internet Explorer方法 描述 FF N IE abs(x) 返回數的絕對值 1 2 3 acos(x) 返回數的反餘弦值 1 2 3 asin(x) 返回數的反正弦值 1 2 3 atan(x)