Time of Update: 2017-01-19
一、概述以往對於基於瀏覽器的應用而言,訪問本地檔案都是一件頭疼的事情。雖然伴隨著 Web 2.0 應用技術的不斷髮展,JavaScript 正在扮演越來越重要的角色,但是出於安全性的考慮,JavaScript 一直是無法訪問本地檔案的。於是,為了在瀏覽器中能夠實現諸如拖拽並上傳本地檔案這樣的功能,我們就不得不求助於特定瀏覽器所提供的各種技術了。比如對於 IE,我們需要通過 ActiveX 控制項來擷取對本地檔案的訪問能力,而對於
Time of Update: 2017-01-19
一、定義模板方法是基於繼承的設計模式,可以很好的提高系統的擴充性。 java中的抽象父類、子類 模板方法有兩部分結構組成,第一部分是抽象父類,第二部分是具體的實現子類。二、樣本Coffee or Tea (1) 把水煮沸 (2) 用沸水浸泡茶葉 (3) 把茶水倒進杯子 (4) 加檸檬/* 抽象父類:飲料 */var Beverage = function(){};// (1) 把水煮沸Beverage.prototype.boilWater = function() {
Time of Update: 2017-01-19
一、迴圈語句眾所周知,常用的迴圈語句有for、while、do-while以及for-in,forEach。除了for-in和forEach效能略低外,平時我們對前三者的選擇更多的是基於需求而非效能考慮,今天我們就對它們各自的效能做個測試,告訴我們最極端的情況下還能做哪些最佳化。首先我們來談談為何for-in和forEach會比其他的慢。for-in一般是用在對象屬性名稱的遍曆上的,由於每次迭代操作會同時搜尋執行個體本身的屬性以及原型鏈上的屬性,所以效率肯定低下;而forEach是基於函數的迭代
Time of Update: 2017-01-19
JavaScript 在瀏覽器中的效能,可認為是開發人員所要面對的最重要的可用性問題。此問題因JavaScript的阻塞特徵而複雜,也就是說,當JavaScript 運行時其他的事情不能被瀏覽器處理。事實上,大多數瀏覽器使用單進程處理UI 更新和JavaScript
Time of Update: 2017-01-19
本文執行個體講述了JavaScript通過代碼調用Flash顯示的方法。分享給大家供大家參考,具體如下:<script type="text/javascript" language="javascript" src="Scripts/swfobject.js"></script><script language="javascript"> function load(){ var swfVersionStr = "10.0.0"; var
Time of Update: 2017-01-19
一、什麼是strict 模式我們平時寫的JavaScript代碼一般都運行在正常模式中的,除了正常運行模式,ECMAscript 5添加了第二種運行模式:”strict 模式”(strict mode)。看名字就知道,這種模式會讓JavaScript在更嚴格的環境中運行。包括IE 10在內的主流瀏覽器,都已經支援它,許多大項目已經開始全面擁抱。(github上面好多項目都是用的strict 模式)二、啟用strict 模式為整個指令碼啟用strict 模式在所有語句之前放一個特定語句 "use
Time of Update: 2017-01-19
閉包和範圍鏈是JavaScript中比較重要的概念,這兩天翻閱了一些資料,把相關知識點給大家總結了以下。JavaScript 採用詞法範圍(lexical scoping),函數執行依賴的變數範圍是由函數定義的時候決定,而不是函數執行的時候決定。以下面的程式碼片段舉例說明,通常來說(基於棧的實現,如 C 語言) foo 被調用之後函數內的本地變數 scope 會被釋放,但是從詞法上看 foo 的內嵌匿名函數中 scope 應該指的是 foo 的本地變數 scope
Time of Update: 2017-01-19
本文執行個體講述了JavaScript+html5 canvas繪製繽紛多彩的三角形效果。分享給大家供大家參考,具體如下:運行效果截圖如下:具體代碼如下:<!DOCTYPE HTML><html> <head> <title>demo</title> <style type="text/css"> body { margin:0; padding:0; } #canvas { width:500
Time of Update: 2017-01-19
我們將為大家詳解Mustache.js輕量級JavaScript模版引擎使用方法。簡單樣本function show(t) { $("#content").html(t);}var view = { title: 'YZF', cacl: function () { return 6 + 4; }};$("#content").html(Mustache.render("{{title}} spends {{cacl}}", view));可以很明顯的看出Mustache模板的文法,只需要使用{
Time of Update: 2017-01-19
在觸發DOM上的某個事件時,會產生一個事件對象event。DOM中的事件對象相容DOM的瀏覽器會將一個event對象傳入到事件處理常式中。event對象包含與建立它的特定事件有關的屬性和方法。除法的事件類型不一樣,可用的屬性方法就不一樣。不過,所有的事件都會有下表列出的成員。下面列出了 2 級 DOM 事件標準定義的屬性: bubbles: 返回布爾值,指示事件是否是起泡事件類型。 cancelable: 返回布爾值,指示事件是否可擁可取消的預設動作。 currentTarget:
Time of Update: 2017-01-19
在程式語言中數組的重要性不言而喻,JavaScript中數組也是最常使用的對象之一,數組是值的有序集合,由於弱類型的原因,JavaScript中數組十分靈活、強大,不像是Java等強型別進階語言數組只能存放同一類型或其子類型元素,JavaScript在同一個數組中可以存放多種類型的元素,而且是長度也是可以動態調整的,可以隨著資料增加或減少自動對數組長度做更改。今天,複習了一下JavaScript的數組,然後,把他的一些奇葩行為總結了一下,在這裡和大家share一下,如果有不對的地方,歡迎指出!奇
Time of Update: 2017-01-19
本文執行個體分析了JavaScript物件導向之私人靜態變數。分享給大家供大家參考,具體如下:大家知道,私人執行個體變數的原理是根據範圍。私人執行個體變數是在Javascript的function內部用var關鍵字實現,只在function內部有效。仿照這個,提出私人靜態變數的解決方案:<script language="javascript" type="text/javascript">var JSClass = (function() { var
Time of Update: 2017-01-19
defer和async特性相信是很多JavaScript開發人員"熟悉而又不熟悉"的兩個特性,從字面上來看,二者的功能很好理解,分別是"延遲指令碼"和"非同步指令碼"的作用。然而,以defer為例,一些細節問題可能開發人員卻並不一定熟悉,比如:有了defer特性的指令碼會延遲到什麼時候執行;內部指令碼和外部指令碼是不是都能夠支援defer;defer後的指令碼除了會順延強制之外,還有哪些特殊的地方等等。本文結合已有的一些文章以及MDN文檔中對兩個特性的闡述,對defer和async進行更全面的研
Time of Update: 2017-01-19
本文執行個體講述了javascript檢測flash外掛程式是否被禁用的方法。分享給大家供大家參考,具體如下:<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="Generator" content="EditPlus®"><meta name="Author" content=""><meta
Time of Update: 2017-01-19
Javascript的基本概念 i. javascript語言是網頁中廣泛使用的一種指令碼語言。 ii. Javascript語言的特點:1. 由Netscape公司開發,基於對象和事件驅動並具有一定安全性的指令碼語言。 2. 特點:a) Javascript是一種指令碼語言,同時也是一種解釋性語言;b) Javascript是靠瀏覽器中的javascript解譯器來啟動並執行,與作業環境沒有關係;c)
Time of Update: 2017-01-19
今天碰到一個問題,怎樣把參數變更影響到函數外部,如:<script> var myname = "wood"; A(myname); document.write(myname); function A(n) { n = "Yao";
Time of Update: 2017-01-19
本文執行個體講述了JavaScript統計字串中每個字元出現次數的方法。分享給大家供大家參考,具體如下:這是一個面試題,要求隨便給你一個字串,讓你求出字串中每個字元出現的次數。先來看看運行效果截圖:具體代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html
Time of Update: 2017-01-19
在觸發DOM上的某個事件時,會產生一個事件對象event。DOM中的事件對象相容DOM的瀏覽器會將一個event對象傳入到事件處理常式中。event對象包含與建立它的特定事件有關的屬性和方法。除法的事件類型不一樣,可用的屬性方法就不一樣。不過,所有的事件都會有下表列出的成員。下面列出了 2 級 DOM 事件標準定義的屬性: bubbles: 返回布爾值,指示事件是否是起泡事件類型。 cancelable: 返回布爾值,指示事件是否可擁可取消的預設動作。 currentTarget:
Time of Update: 2017-01-19
一、JavaScript範圍JavaScript變數實際上只有兩種範圍,全域變數和函數的內部變數。在函數內部任何一個地方定義的變數(var scope)其範圍都是整個函數體。全域變數:指的是window對象下的對象屬性。範圍劃分:基於上下文,以函數進行劃分的,而不是由塊劃分的。強調兩點:1. 在同一範圍中,JavaScript是允許變數的重複定義,並且後一個定義將覆蓋前一個定義。2. 函數內部如果不加關鍵字var而定義的變數,預設為全域變數。var scope="global";
Time of Update: 2017-01-19
單例模式也稱作為單子模式,更多的也叫做單體模式。為軟體設計中較為簡單但是最為常用的一種設計模式。單例模式的介紹: 在應用單例模式時,產生單例的類必須保證只有一個執行個體的存在,很多時候整個系統只需要擁有一個全域對象,才有利於協調系統整體的行為。比如在整個系統的設定檔中,配置資料有一個單例對象進行統一讀取和修改,其他對象需要配置資料的時候也統一通過該單例對象來擷取配置資料,這樣就可以簡化複雜環境下的組態管理。