10個你可能不知道的JavaScript小技巧

儘管我使用Javascript來做開發有很多年了,但它常有一些讓我很驚訝的小特性。對於我來說,Javascript是需要持續不斷的學習的。在這篇文章中,我將列出10個Javascript使用小技巧,主要面向Javascript新手和中級開發人員。希望每個讀者都能至少從中學到一個有用的技巧。1.變數轉換看起來很簡單,但據我所看到的,使用建構函式,像Array()或者Number()來進行變數轉換是常用的做法。始終使用未經處理資料類型(有時也稱為字面量)來轉換變數,這種沒有任何額外的影響的做法反而效

javascript Array對象

文章目錄 Array 對象的方法Array 對象的屬性 數組是一段線性分配的記憶體,它通過整數去計算位移並訪問其中的元素。數組是很快的資料結構,但不幸的是,Javascript並沒有像這種數組一樣的資料結構。Javascript的數組實質是對象,它把數組的下標轉換成字串,用其作為屬性,因此它明顯比真正的數組慢,但它可以更方便地使用。 改變自身pop,push,reverse,shift,sort,splice,unshift,

javascript的緩動效果(第1部分)

緩動,學名為Tween,緩衝移動的簡稱。要想頁面內容切換起來舒服,就使用淡入淡出特效,要想讓頁面元素動起來自然,就要使用緩動效果。這兩個混合起來,可以衍生多種特效的。感謝Flash開發人員為我們做了那麼多先行研究,我們直接把它們拆出來裝在各種菜單與相簿中。我們先從最簡單的東西做起,加速與減速。既然是緩動,它就一定涉及以下概念:距離,時間與速度。我們可以想象存在一條直線L,點A與點B就是L的起點與終點,有一個點C在直線L上移動,從點A到點B。所需的時間通常都是未知,但速度我們一定要制定。看下面的圖

javascript變數的範圍

不太會寫冠冕堂皇的開場白,直接進入主題。我們看一道題,出處為javaeye的某貼——這世界就是這樣,有些人喜歡製造問題,有人喜歡解決問題。製造問題的人為解決問題的人帶來就業機會……var a=100; var b=true; function test(){ alert(a); alert(b); b=false; alert(b); var a=200; alert(a/2); alert(++Math.PI);

javascript事件代理

在編程中,如果我們不想或不能夠直接操縱目標對象,我們可以利用delegate建立一個代理對象來調用目標對象的方法,從而達到操縱目標對象的目的。毋庸置疑,代理對象要擁有目標對象的引用。我們來看一下javascript的一個最簡單實現: var delegate = function (client,clientMethod ){ return function() { return clientMethod.apply(client,arguments); } }

javascript架構之全域變數

縱觀各大類庫的實現,一開始基本都是定義一個全域變數,然後對它進行擴充。如Prototype.js的Prototype,mootools的Native,Base2的Base,Ext的Ext,jQuery的jQuery,YUI的YUI,dojo的dojo,MochiKit的MochiKit等等。從全域變數的汙染程度來看,分為兩大類,Prototype,mootools與Base2歸一類。Prototype的哲學是對JS原生對象進行擴充。早些年,Ptototype差點成為事實的標準,因此基本沒有考慮到

javascript / js資料類型,資料類型轉換

1)基本類型 ---數字,採用IEEE754標準定義的64位浮點格式. 特殊數值常量: Infinity 無窮大的特殊值 NaN 非數字值 Number.MAX_VALUE 可表示的最大數字 Number.MIN_VALUE 可表示的最小數字 Number.NaN 非數字值 Number.POSITIVE_INFINITY 正無窮大 Number.NEGATIVE_INFINITY 負無窮大 把數字轉為字串6種方式 var n = 1.23456; var n_as_str = n+"";

九個讓人難以置信的 HTML5 和 JavaScript 實驗

Google的 Chrome實驗室 收集了很多讓人難以置信的基於 HTML5 Canvas 和 JavaScript 的實驗項目,裡面的例子都很獨特,讓人驚歎。我從未想過結合 HTML 和 JavaScript 能實現這麼強大的效果。今天,本文與大家分享其中9個很棒的例子,為了有更好的效果,建議在Chrome瀏覽器中瀏覽。Untangle拖動藍點,讓所有線都不相交,看看你多久能解開? Z Type一款太空射擊遊戲,基於ImpactJS遊戲庫開發。Cube

推薦給 JavaScript 開發人員十款超級有用的工具來提高客戶體驗

近年來,JavaScript 越來越受到重視,早已不單單只是寫寫網頁特效的指令碼語言了,如今廣泛用於網站的前端互動。值得一提的是,當下 Web 開發人員們追捧的 Node.js 使得 JavaScript能夠在更多環境下運行,甚至是伺服器端,使得這門語言再次受到大家的關注。今天,本文向 JavaScript 開發人員推薦十款超級有用的工具。YepNope YepNope 是一個非同步條件載入架構,速度超快,只為使用者載入需要的指令碼。使用非常簡單,非常有用! 點擊訪問:

讓人難以置信的HTML5和JavaScript實驗

Google的 Chrome實驗室收集了很多讓人難以置信的基於 HTML5 Canvas 和 JavaScript 的實驗項目,裡面的例子都很獨特,讓人驚歎。我從未想過結合 HTML 和 JavaScript 能實現這麼強大的效果。今天,本文與大家分享其中9個很棒的例子,為了有更好的效果,建議在Chrome瀏覽器中瀏覽。Untangle拖動藍點,讓所有線都不相交,看看你多久能解開? Z Type一款太空射擊遊戲,基於ImpactJS遊戲庫開發。Cube

16個最流行的 JavaScript 架構推薦

這篇文章列舉了當下最流行的16個 JavaScript 架構,既包含 jQuery 和 Mootools 等常規架構,也有Zepo這種支援智能手機觸摸功能的移動JavaScript架構,如果你有更好的架構推薦,歡迎與我們分享。1. jQuery – Javascript FrameworkjQuery 是最流行的 JavaScript 架構,它簡化了HTML 文檔遍曆、事件處理、動畫和Ajax互動。2. Dojo Javascript

javascript的可控式透明特效

透明特效是script.aculo.us提到的特效中最簡單的特效之一。既然是特效,必須涉及時間與空間的概念。時間我們可以用setTimeout與setInterval,個人比較喜歡setTimeout,雖然它每次調用都重複註冊,但可控性比較好。空間就全憑CSS的絕對位置實現位移了。在開始之前,我們練習一下setTimeout的遞迴用法(用來類比setInterval)。 function text(el){ var node = (typeof el == "string")?

5種 JavaScript 調用函數的方法

一次又一次的,我發現,那些有bug的Javascript代碼是由於沒有真正理解Javascript函數是如何工作而導致的(順便說一下,許多那樣的代碼是我寫的).JavaScript擁有函數式編程的特性, 當我們選擇面對它的時候,這將成為我們前進的阻礙.

javascript 技巧總結積累109-173條(正在積累中)

109.改變狀態列 self.status ="";//110.改變視窗大小 window.resizeTo(200,300);//111.改變滑鼠樣式 style BODY{CURSOR: url('mouse.ani'); SCROLLBAR-BASE-COLOR: #506AA8; SCROLLBAR-ARROW-COLOR: #14213F; }//112.背景透明 <input type="button" value="Button"

javascript測試函數運行速度

通常我們需要對函數進行最佳化,一般的做法是開始的時候獲得時間,結束的時候再獲得一次時間,兩次時間相減就能到到花費的時間。而函數運行速度之快,基本上都是毫秒級的。下面給出的函數就是就此準備的。 // 時間轉為時間戳記(毫秒)function time2stamp(){ var d = new Date(); return Date.parse(d)+d.getMilliseconds();}用法: var t1 = time2stamp(); //

javascript命名空間的簡單實現

為了防止與其他類庫發生命名衝突,命名空間是必需的。下面是一個簡單的實現。<script> (function(){ if(!window.JS){ window['JS'] = {} } var $ = function(id) { return document.getElementById(id); } var html = function (id) { if(!(obj = $(id))) return

JavaScript trim函數大賞

W3C那幫人的腦袋被驢踢了,直到javascript1.8.1才支援trim函數(與trimLeft,trimRight),可惜現在只有firefox3.5支援。由於去除字串兩邊的空白實在太常用,各大類庫都有它的影子。加之,外國人都很有研究精神,搞鼓了相當多實現。實現1 String.prototype.trim = function() { return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');

javascript 的forEach函數

在Base2中找到一個叫forEach的函數,是我見過的最好的實現。挖出來分析一下。它能對各種普通對象,字串,數組以及類數組進行遍曆。如果原遊覽器的對象已實現此函數,它則調用原對象的函數。 function forEach(object, block, context, fn) { if (object == null) return; if (!fn) { if (typeof object == "function" &&

javascript的動態this與動態綁定

javascript是一門動態語言,最明顯就是那個dynamic this。它一般都是作為函數調用者存在。在javascript,所有關係都可以作為對象的一個關聯陣列元素而存在。那麼函數就是被掰成兩部分儲存於對象,一是其函數名(鍵),一是函數體(值),那麼函數中的this一般都指向函數所在的對象。但這是一般而已,在全域調用函數時,我們並沒有看到調用者,或者這時就是window。不過,函式宣告後,其實並沒有綁定到任何對象,因此我們可以用call apply這些方法設定調用者。一個簡單的例子:

javascript wrapper函數

在設計javascript的繼承體系時,有一個重要需求,方法鏈。通俗地說,說是在方法中調用父類的同名方法。類似java的this.super().method()。如何把父類的同名方法封裝到子類中呢?這就要用到wrapper函數。之所以叫wrapper,而不是wrap,因為它比wrap更加wrapper。比如像Ext那種深度繼承的結構中,如果父類沒有找祖父,祖父沒有找曾祖父,沿著原型鏈層層上溯,以擷取它所需要的功能。此外,wrapper函數在jQuery也有應用,好像分為三種wrapAll,wr

總頁數: 3271 1 .... 411 412 413 414 415 .... 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.