深入理解JavaScript系列(11) 執行內容(Execution Contexts)

簡介 從本章開始,我將陸續(翻譯、轉載、整理)http://dmitrysoshnikov.com/網站關於ECMAScript標標準理解的好文。 本章我們要講解的是ECMAScript標準裡的執行內容和相關可執行代碼的各種類型。 原始作者:Dmitry A. Soshnikov 原始發布: 2009-06-26 俄文原文:http://dmitrysoshnikov.com/ecmascript/ru-chapter-1-execution-contexts/ 英文翻譯:Dmitry A.

物件導向的Javascript之二(介面實現介紹)

就足以說明介面在物件導向的領域中有多重要。但JS卻不像其他物件導向的進階語言(C#,Java,C++等)擁有內建的介面機制,以確定一組對象和另一組對象包含相似的的特性。所幸的是JS擁有強大的靈活性(我在上文已談過),這使得模仿介面特性又變得非常簡單。那麼到底是介面呢? 介面,為一些具有相似行為的類之間(可能為同一種類型,也可能為不同類型)提供統一的方法定義,使這些類之間能夠很好的實現通訊。 那使用介面到底有哪些好處呢?簡單地說,可提高系統相似模組的重用性,使得不同類的通訊更加穩固。一旦實現介面,

深入理解JavaScript系列(10) JavaScript核心(晉級高手必讀篇)

適合的讀者:有經驗的開發員,專業前端人員。 原作者: Dmitry A. Soshnikov 發布時間: 2010-09-02 原文:http://dmitrysoshnikov.com/ecmascript/javascript-the-core/ 參考1:http://ued.ctrip.com/blog/?p=2795 參考2:http://www.cnblogs.com/ifishing/archive/2010/12/08/1900594.html 主要是綜合了上面2位高手的中文翻譯,

深入理解JavaScript系列(8) S.O.L.I.D五大原則之裡氏替換原則LSP

前言 本章我們要講解的是S.O.L.I.D五大原則JavaScript語言實現的第3篇,裡氏替換原則LSP(The Liskov Substitution Principle )。 英文原文:http://freshbrewedcode.com/derekgreer/2011/12/31/solid-javascript-the-liskov-substitution-principle/ 複製代碼 開閉原則的描述是: Subtypes must be substitutable for

深入理解JavaScript系列(7) S.O.L.I.D五大原則之開閉原則OCP

前言 本章我們要講解的是S.O.L.I.D五大原則JavaScript語言實現的第2篇,開閉原則OCP(The Open/Closed Principle )。 開閉原則的描述是: Software entities (classes, modules, functions, etc.) should be open for extension but closed for modification. 軟體實體(類,模組,方法等等)應當對擴充開放,對修改關閉,即軟體實體應當在不修改的前提下擴充。

深入理解JavaScript系列(6):S.O.L.I.D五大原則之單一職責SRP

前言 Bob大叔提出並發揚了S.O.L.I.D五大原則,用來更好地進行物件導向編程,五大原則分別是: The Single Responsibility Principle(單一職責SRP) The Open/Closed Principle(開閉原則OCP) The Liskov Substitution Principle(裡氏替換原則LSP) The Interface Segregation Principle(介面分離原則ISP) The Dependency Inversion

深入理解JavaScript系列(6) 強大的原型和原型鏈

前言 JavaScript 不包含傳統的類繼承模型,而是使用 prototypal 原型模型。 雖然這經常被當作是 JavaScript 的缺點被提及,其實基於原型的繼承模型比傳統的類繼承還要強大。實現傳統的類繼承模型是很簡單,但是實現 JavaScript 中的原型繼承則要困難的多。 由於 JavaScript 是唯一一個被廣泛使用的基於原型繼承的語言,所以理解兩種繼承模式的差異是需要一定時間的,今天我們就來瞭解一下原型和原型鏈。 原型

深入理解JavaScript系列(4) 立即調用的函數運算式

前言 大家學JavaScript的時候,經常遇到自執行匿名函數的代碼,今天我們主要就來想想說一下自執行。 在詳細瞭解這個之前,我們來談瞭解一下“自執行”這個叫法,本文對這個功能的叫法也不一定完全對,主要是看個人如何理解,因為有的人說立即調用,有的人說自動執行,所以你完全可以按照你自己的理解來取一個名字,不過我聽很多人都叫它為“自執行”,但作者後面說了很多,來說服大家稱呼為“立即調用的函數運算式”。

深入理解JavaScript系列(3) 全面解析Module模式

簡介 Module模式是JavaScript編程中一個非常通用的模式,一般情況下,大家都知道基本用法,本文嘗試著給大家更多該模式的進階使用方式。 首先我們來看看Module模式的基本特徵: 模組化,可重用 封裝了變數和function,和全域的namaspace不接觸,松耦合 只暴露可用public的方法,其它私人方法全部隱藏 關於Module模式,最早是由YUI的成員Eric

javascript中onmouse事件在div中失效問題的解決方案

也就是說,移到對象的子物件上,也算onmouseout了。但這往往會達不到我們想要的預期效果。這是由於javascript自身的冒泡特性導致的(即在子項目上觸發了事件,並冒泡到了父元素-堆棧後進先出演算法)。今天在網上搜了一下,找了以下的解決辦法(相容IE和Firefox)。 在IE下解決問題很簡單,用onMouseEnter、onMouseLeave來代替onMouseOver、onMouseOut就行了,他們的作用基本相同,但前者不會發生冒泡(如果用

javascript是怎麼繼承的介紹

第一個階段: 複製代碼 代碼如下:function A(){ this.funB = function(){ alert('A:funB'); }; } A.prototype = { funA:function(){ alert('A:funA'); } }; function B(){ } function extend(sub,parent){ sub.prototype = new parent(); sub.prototype.constructor = sub; }

js類比3D情境效果代碼打包

要在二維空間類比出三維的效果,就需要把三維的座標轉換成二維座標。一個最基本依據是:東西越遠,看到大小就越小,座標越往消失點靠攏。   透視公式:    scale = fl / (fl + z);    scale是大小的比例值,0.0到1.0之間,fl是觀察點到成像面的距離,通常這個值是固定,z就是物件的三維空間中的z軸。

人人網javascript面試題 可以提前實現下

JavaScript面試題要求:以下題目必須從一至四題中,選出三道題,使用原生代碼實現,不可使 用任何架構,第五題為選作題。 一、 在頁面的固定地區內實現圖片的展示 1. 每點擊一次右箭頭,圖片地區向左滾動出一張圖片,反之相同; 2. 當發現圖片滾動到末尾時,響應的箭頭變成不可點擊狀態; 3. 滑鼠在圖片地區內滑動滾輪,圖片會隨著滑鼠滾輪的方向進行響應的滾動; 二、 用 js、html、css實現一個彈出提示控制項: 1. 分別實作類別似於系統的

為JavaScript類型增加方法的實現代碼(增加功能)

javaScript的類型函數(如Number/String/Boolean/Array/Date/Obejct等)都是繼承於 Function.prototype,所以給Function.prototype增加方法,同時也會影響到由它衍生的下層類型函數。如: 複製代碼 代碼如下:Function.prototype.addMethod=function(methodName,func){ if(!this[methodName]){

javaScript 利用閉包類比對象的私人屬性

JavaScript缺少塊級範圍,沒有private修飾符,但它具有函數範圍。範圍的好處是內建函式可以訪問它們的外部函數的參數和變數(除了this和argument。內部中的函數中的this指向全域對象,argument指向內建函式的函數參數)。我們可以利用這種屬性來類比物件導向中的私人屬性。 複製代碼 代碼如下:var myObject=function(value){ var value=value || 0; return{ increment:function(num){ value+=

javascript獲得伺服器端控制項的ID的實現代碼

複製代碼 代碼如下:<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

javascript判斷ie瀏覽器6/7版本載入不同樣式表的實現代碼

關鍵點:1、對瀏覽器版本的判斷;2、修改樣式表路徑 其中第二點也常用在即時修改網頁模板、論壇風格的場合,實際上就是修改樣式表路徑來載入不同的樣式表。 代碼: 複製代碼 代碼如下:<script type="text/javascript"> var browser=navigator.appName var b_version=navigator.appVersion var version=b_version.split(";"); try{

javascript寫的簡單的計算機,內容很多,方法實用,推薦

最近用javascript寫了一個簡單的計算機,自己測試感覺還好,先給大家觀賞下介面:介面就是這樣了,但是功能如何呢?現在只是個簡單的標準計算機,能進行加減乘除連續運算,以及求餘運算。如果發生被除數為零的錯誤,下面會給出提示,就像這樣:自己不知道寫的怎麼樣,但是對於新手來說,這肯定是一份大餐,裡面可以接觸到的東西不少,可以拿來學習。如果有高手看出裡面的疏漏、錯誤等望不吝賜教,給予指點。下面貼上代碼,希望裡面的注釋足夠多了。js部分: 複製代碼 代碼如下:var

JavaScript中兩個驚嘆號的作用說明

先用一個簡單的例子說明: 複製代碼 代碼如下:var o={flag:true}; var test=!!o.flag;//等效於var test=o.flag||false; alert(test);

javascript (用setTimeout而非setInterval)

複製代碼 代碼如下:var num = 0; var max = 10; function incrementNumber() { num++; //if the max has not been reached, set another timeout if (num < max) { setTimeout(incrementNumber, 500); } else { alert(“Done”); } } setTimeout(incrementNumber, 500);

總頁數: 3314 1 .... 119 120 121 122 123 .... 3314 Go to: 前往

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。