JavaScript 學習筆記(九)call和apply方法

call和apply方法 call方法可改變上下文this指標,類似的方法還有apply,主要用在js對象各方法互相調用的時候,使當前this執行個體指標保持一致,或在特殊情況下需要改變this指標。 obj1.method1.call(obj2,argument1,argument2) 如上,call的作用就是把obj1的方法放到obj2上使用,後面的argument1…這些做為參數傳入。 舉一個具體的例子 複製代碼 代碼如下:function add(a, b) { alert(a + b)

javascript 可控式透明特效實現代碼

空間就全憑CSS的絕對位置實現位移了。在開始之前,我們練習一下setTimeout的遞迴用法(用來類比setInterval)。 複製代碼 代碼如下:function text(el){ var node = (typeof el == "string")? document.getElementById(el) : el; var i = 0; var repeat = function(){ setTimeout(function(){ node.innerHTML =

javascript addLoadEvent函數說明

在給網頁加一些特效時經常要在<body>中加入“onload”事件,即在網頁載入完後執行某事件,例如:<body onload=”alert(‘歡迎光臨!')”,但這樣做有個大的缺陷,事件會在網頁完全下載完後才會執行,包括網頁中的圖片或Flash等,如果網頁中的圖片比較大或有很多圖,可能還沒等網頁完全下載完網友已經點選連結到其它網頁去了,這樣這個事件就沒有執行了。另外在某些特殊情況下可能還修改不了網頁的body參數。如在別人網站發表文章時,或用CMS整站系統時。

JavaScript 類比使用者單擊事件

一開始,我想到了用jQuery的click()事件來觸發超連結的單擊事件(與trigger("click")一樣的效果)。結果發現不如人意。 執行個體如下: IE: FireFox: 複製代碼 代碼如下:<h3>請單擊”Click Me"。測試提交按鈕與超連結是否也被單擊了。</h3> <button id="btn">Click Me</button> <form action="#">

Javascript在IE或Firefox下擷取滑鼠位置的代碼

第一段代碼是利用全域變數來擷取即時滑鼠的位置。 複製代碼 代碼如下:var xPos; var yPos; window.document.onmousemove(function(evt){ evt=evt || window.event; if(evt.pageX){ xPos=evt.pageX; yPos=evt.pageY; } else { xPos=evt.clientX+document.body.scrollLeft-document.body.clientLeft;

Javascript 字串位元組長度計算函數代碼與效率分析(for VS 正則)

先看看一下兩段代碼吧,它們分別用for迴圈和Regex來檢測字串的位元組長度: for迴圈檢測字串的位元組長度方法一: 複製代碼 代碼如下:var lenFor = function(str){ var byteLen=0,len=str.length; if(str){ for(var i=0; i<len; i++){ if(str.charCodeAt(i)>255){ byteLen += 2; } else{ byteLen++; } } return byteLen; }

JS 控制非法字元的輸入代碼

html檔案代碼如下:複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

javascript 物件導向繼承

在prototype架構中的類繼承實現機制 複製代碼 代碼如下://為Object類添加靜態方法:extend Object.extend = function(destination, source) { for(property in source) { destination[property] = source[property]; } return destination; } //通過Object類為每個對象添加方法extend Object.prototype.extend =

JavaScript讓IE瀏覽器event對象符合W3C DOM標準

複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/

JavaScript window.setTimeout() 的詳細用法

setTimeout (運算式,延時時間)setTimeout(運算式,互動時間) 延時時間/互動時間是以豪秒為單位的(1000ms=1s) setTimeout 在執行時,是在載入後延遲指定時間後,去執行一次運算式,僅執行一次 setTimeout 在執行時,它從載入後,每隔指定的時間就執行一次運算式1,基本用法: 執行一段代碼: 複製代碼 代碼如下:var i=0; setTimeout("i+=1;alert(i)",1000); 執行一個函數: 複製代碼 代碼如下:var i=0;

javascript Range對象跨瀏覽器常用操作第1/2頁

開發的功能主要涉及即時代碼著色(CodeColoring)和文法提示(CodeHints)功能,稍後會總結功能開發中問題或提供源碼。 以下是個人對Range對象的瞭解和常用操作的執行個體和總結: Range對象 Range對象表示文檔的連續範圍地區,如使用者在瀏覽器視窗中用滑鼠拖動選中的地區。 dom標準Range對象 http://www.w3school.com.cn/xmldom/dom_range.asp 在ie中使用TextRange對象

javascript 多級checkbox選擇效果

今天總算把部門多選的效果整出來 見圖: 先共用核心代碼: 1:js指令碼 複製代碼 代碼如下:var treeHTML = ""; var checkList = new Array(); /*only init here*/ var barString = "└";/*┝└*/ var degreeString = " "; function makeTree(id,text,value,parentid,isCheck) { this.id = id; this.text = text;

JavaScript 非同步呼叫架構 (Part 4 – 鏈式調用)

現實開發中,要按順序執行一系列的同步非同步作業又是很常見的。還是用百度Hi網頁版中的例子,我們先要非同步擷取連絡人清單,然後再非同步擷取每一個連絡人的具體資訊,而且後者是分頁擷取的,每次請求發送10個連絡人的名稱然後取回對應的具體資訊。這就是多個需要順序執行的非同步請求。 為此,我們需要設計一種新的操作方式來最佳化代碼可讀性,讓順序非同步作業代碼看起來和傳統的順序同步作業碼一樣優雅。 傳統做法 大多數程式員都能夠很好的理解順序執行的代碼,例如這樣子的: 複製代碼 代碼如下:var

JavaScript this 深入理解

最近一段時間看了很多JavaScript 的庫源碼, 如 prototype, Ext core 等。這些庫中大量應用到了這一概念。直到昨天翻了一下《JavaScript王者歸來》這本書才算對this有一個深刻的理解。 大至歸結一下: 1. 函數調用者與所有者 JavaScript 中函數(function) 存在調用者 與 所有者這兩個概念,調用者是指調用函數的對象,通常是一個指向調用了當前函數的函數的引用,如果是頂層調用,那麼caller=null, 大部分瀏覽器的JavaScript實現

Javascript this指標

前言Javascript是一門基於對象的動態語言,也就是說,所有東西都是對象,一個很典型的例子就是函數也被視為普通的對象。Javascript 可以通過一定的設計模式來實現物件導向的編程,其中this “指標”就是實現物件導向的一個很重要的特性。但是this也是Javascript中一個非常容易理解錯,進而用錯的特性。特別是對於接觸靜態語言比較久了的同志來說更是如此。樣本說明我們先來看一個最簡單的樣本:<script type="text/javascript"> var

js 實現無縫滾動 相容IE和FF

原理解析: 1、首先給容器設定高度或寬度,比如ul,設定ul高40px;overflow:hidden; 2、容器高度設定後,內容的高度超出40px,超過部分溢出,被隱藏,scrollTop屬性可用,這一點可以用overflow:scroll來看效果; 3、改變容器的scrollTop(上下滾動)屬性的值,讓內容上下移動一個節點的位置(滾動的原理);

javascript dom 操作詳解 js加強

1 、文檔裡的每個節點都有屬性 nodeName 、 nodeValue 、 nodeType nodeName 文本節點的的節點名是 #text , nodeName 是唯讀屬性 nodeValue 1 元素節點 2 屬性節點 3 文本節點 唯讀屬性 nodeType 不能用於元素節點 返回 null 2 、 getElementsByTagName 返回一個節點集合 3 、 firstChild 、 lastChild 第一個元素節點,最後一個元素節點 4 、 childNodes

javascript 寫類方式之九

9、YUI的寫類方式 這裡引入的是YUI 2.7.0版,只需引入yahoo.js。YUI引入了命名空間,類似於java的包。以下yahoo的工具函數包YAHOO.namespaceYAHOO.langYAHOO.lang.hasOwnPropertyYAHOO.lang.extendYAHOO.lang.augmentYAHOO.logYAHOO_config and YAHOO.envYUI Module Names 寫類方式: 複製代碼 代碼如下://定義包名

javascript 寫類方式之四

4、建構函式 + 原型 直接組裝一個類;同一建構函式將組裝出同一類型通過前面幾篇得知javascript寫類無非基於建構函式 和原型 。既然這樣,我們寫個工具函數來寫類。複製代碼 代碼如下:/** * $class 寫類工具函數之一 * @param {Object} constructor * @param {Object} prototype */ function $class(constructor,prototype) { var c = constructor ||

javascript 異常處理使用總結

文章目錄 try catch finally 語句說明throw語句說明Error對象Javascript的異常處理機制和window.onerror控制代碼 JavaScript中的異常可以用try..catch..finally語句來處理,也可以手動的來拋出異常。 1.使用try..catch..finally語句來處理異常

總頁數: 3271 1 .... 66 67 68 69 70 .... 3271 Go to: 前往

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.