Time of Update: 2018-12-08
1、邏輯非 邏輯非用!表示,可以應用與ECMAScript的任何類型的值,邏輯非操作返回的是一個布爾值(true/false)。該操作符首先會將它的運算元轉換為一個布爾值,然後再對其求反。 下面說明下Boolean()轉型函數的一組規則。 資料類型轉換為true的值轉換為false的值BooleantruefalseString 任何非Null 字元串""(Null 字元串)Number 任何非零數字值(包括無窮大)0和NaNObject任何對象nullUndefined
Time of Update: 2018-12-08
一,for迴圈的基本寫法 代碼如下: 複製代碼 代碼如下://例一for(var i=1;i<=10;i++) { alert(i); } 這段代碼太簡單了,我都不好意思拿出手。代碼的執行結果是依次彈出1到10,PS:在早期的IE如IE6中,你把10改成10000,就能讓使用者一直點確定什麼也不能幹了哈哈——不要說是我出的主意。 由於這是一篇基礎課程,所以我們迴歸正題來詳細分析一下這段代碼吧。 for迴圈的結構都是類似的,任意一個for迴圈都是這樣的:
Time of Update: 2018-12-08
複製代碼 代碼如下:isNull: function(a){ return a === null; }, isUndefined: function(a){ return a === undefined; }, isNumber: function(a){ return typeof a === 'number'; }, isString: function(a){ return typeof a === 'string'; }, isBoolean: function(a){ return
Time of Update: 2018-12-08
我們先看一段傳統的繼承代碼: 複製代碼 代碼如下://定義超類 function Father(){ this.name = "父親"; } Father.prototype.theSuperValue = ["NO1","NO2"]; //定義子類 function Child(){ } //實現繼承 Child.prototype = new Father(); //修改共用數組 Child.prototype.theSuperValue.push("修改"); //建立子類執行個體
Time of Update: 2018-12-08
請看源碼: 複製代碼 代碼如下:function clone(o) { var F = function(){}; F.prototype = o; return new F(); } 首先看ext(4.1的1896行開始)的原型式繼承。 複製代碼 代碼如下:var TemplateClass = function(){}; var ExtObject = Ext.Object = { chain: function (object) { TemplateClass.prototype =
Time of Update: 2018-12-08
Daniel Clifford 在 Google I/O 2012 上做了一個精彩的演講“Breaking the JavaScript Speed Limit with V8”。在演講中,他深入解釋了13個簡單的代碼最佳化方法,可以讓你的代碼在 Chrome 的 V8 JavaScript 引擎編譯/運行你的 JavaScript 代碼更加快速。在演講中,他解釋了怎麼最佳化,並且解釋了原因。下面簡明的列出了最佳化的要點: 1. 在建構函式中初始化所有的對象 2.
Time of Update: 2018-12-08
自動序列編號和自動屬性編號,如下:實現原理: 添加和刪除是逆向過程,實現是一致的。 增加時,向父容器中增加元素append方法,並將所有的自訂屬性編號和序列編號設定為空白,然後通過$.each方法,重新為自訂屬性編號和序列編號賦值。 複製代碼 代碼如下:$.each(items, function (k, v) { $(this).attr("opt", "mopt" + k); serials.eq(k).html(k); });
Time of Update: 2018-12-08
CSS 樣式: 複製代碼 代碼如下:DIV.neat-dialog-cont { Z-INDEX: 98; BACKGROUND: none transparent scroll repeat 0% 0%; LEFT: 0px; WIDTH: 100%; POSITION: absolute; TOP: 0px; HEIGHT: 100% } DIV.neat-dialog-bg { Z-INDEX: -1; FILTER: alpha(opacity=70); LEFT: 0px;
Time of Update: 2018-12-08
1. 大多數遊覽器的組件構成 在最底層的三個組件分別是網路,UI後端和js解譯器。作用如下: (1)網路- 用來完成網路調用,例如http請求,它具有平台無關的介面,可以在不同平台上工作 (2)UI 後端- 用來繪製類似組合選擇框及對話方塊等基本組件,具有不特定於某個平台的通用介面,底層使用作業系統的使用者介面 (3)JS解譯器- 用來解釋執行JS代碼 ps:和知識點主要來自《HOW BROWSERS WORK: BEHIND THE SCENES OF MODERN WEB
Time of Update: 2018-12-08
1、函數的建立 由於前面已經用了很多的函數,我就不在這裡多分享了。 2、嵌套函數 複製代碼 代碼如下:function china() { function people()//嵌套函數,只有china用它 { document.write("我的心愿是當杜甫,最近網上他的漫畫,他活的好瀟洒"); } people(); } 3、函數的直接量 Javascript允許函數用直接量來定義,說白了就是一個運算式,(匿名函數)。細節:匿名函數以後會用,要明白! 複製代碼 代碼如下:function
Time of Update: 2018-12-08
build.js中的代碼會去調用UglifyJS的介面函數以執行壓縮任務。 1,去github下載最新的UglifyJS。兩種方式下載,如果安裝了git,進入git控制台使用如下命令 git clone git://github.com/mishoo/UglifyJS.git 或者使用http方式下載,點擊zip下載。解壓後其目錄結構如下
Time of Update: 2018-12-08
2.6 原始類型 ECMAScript有5種原始類型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof來判斷值的類型。 1、typeof運算子: 複製代碼 代碼如下:var sTemp="test string"; alert(typeof sTemp);//outpus "string" alert(typeof 95);//outpus "number"
Time of Update: 2018-12-08
Niceforms Niceforms是一款獨立的表單美化工具,目前的版本為2.0 官方首頁:http://www.emblematiq.com/lab/niceforms/ 官方示範:http://www.emblematiq.com/lab/niceforms/demo/niceforms.html GitHub:https://github.com/emblematiq/Niceforms 使用方法,在頁面頭部引入以下指令碼及樣式即可: 複製代碼 代碼如下:<link
Time of Update: 2018-12-08
先看圖: 很簡單的一個效果 首先html 複製代碼 代碼如下:<ul> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt="" /></li> <li><img src="i.jpg" alt="" /><
Time of Update: 2018-12-08
JavaScript 程式設計語言作為最流行的用戶端指令碼語言,早已被眾多 Web 開發人員所熟悉。隨著 Web2.0 時代的到來和 Ajax 技術的廣泛應用,JavaScript 也逐漸吸引著更多的視線。工作中要求越多的是對 JavaScript 語言的深入學習,靈活運用,和對編碼品質的保證。 對於熟悉 C/C++ 或 Java 語言的工程師來說,JavaScript 顯得靈活,簡單易懂,對代碼的格式的要求也相對鬆散。很容易學習,並運用到自己的代碼中。也正因為這樣,JavaScript
Time of Update: 2018-12-08
不過指令碼比較長的時候,需要複製密密麻麻一大段到地址欄裡,顯得很不美觀,而且指令碼修改起來也很不容易。因此一般先把指令碼寫在單獨一個檔案裡,然後用javascript: 的形式動態載入指令碼到頁面中。不少網頁外掛程式都是用這個方法載入。 平時,我們用最簡單的代碼實現動態載入: 複製代碼 代碼如下:javascript:var o=document.createElement('script');o.src='...';document.body.appendChild(o);void(0)
Time of Update: 2018-12-08
Try testing the following form with valid and invalid email addresses. The code uses javascript to match the users input with a regular expression. 函數代碼: 複製代碼 代碼如下:function validate(form_id,email) { var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])
Time of Update: 2018-12-08
預載入和JavaScript Image()對象 很多high-res映像真的可以使 Web 網站更加整潔。但是它們也會使網站的訪問速度變慢——映像是檔案,檔案使用頻寬,頻寬直接與等待時間相關。是該瞭解如何通過一個叫做映像預載入(preloading)的技巧來提高 Web 網站的訪問速度的時候了。 映像預載入 對於瀏覽器載入映像來說,只有在對映像發送一個 HTTP請求之後,它們才會被瀏覽器載入,對映像的 HTTP 要求要麼使用 <img> 標記,要麼通過方法調用實現。如果使用
Time of Update: 2018-12-08
關於反向引用 複製代碼 代碼如下:// 測試函數 function matchReg(reg, str) { var result = str.match(reg); if(result) { console.dir(result); } else { console.log('match failed'); } } var reg = /([A-Za-z]{0,6})\1/; var str = 'AndrewAndrew'; // 測試通過 matchReg(reg, str); //通過(
Time of Update: 2018-12-08
隨著近幾年來 JavaScript 的應用日漸廣泛, 滑動效果無處不在, 於是我也跟跟風, 將置頂功能做成了滑動效果. 後來為了更貼合物理特徵, 改造做成了減速的滑動效果. 首先說一下原理吧. 我們會擷取捲軸到頁面頂部的距離, 然後上移一定的距離; 再擷取捲軸到頁面頂部的距離, 上移一定的距離 (比上一次小一點); ... JavaScript 代碼: 複製代碼 代碼如下:/** * 回到頁面頂部 * @param acceleration 加速度 * @param time 時間間隔 (毫秒)