Time of Update: 2014-04-10
有時候為了簡潔設計,當使用者滑鼠未經過時,我們不用向使用者顯示操作提示。直到使用者滑鼠經過了,就顯示相應的操作提示。這種設計在很多地方都用得上。先看看下面的示範。 效果示範 這個是第1行的文字,大家看清楚了 這個是第2行的文字,大家看清楚了 這個是第3行的文字,大家看清楚了 這個是第4行的文字,大家看清楚了 這個是第5行的文字,大家看清楚了 這個是第6行的文字,大家看清楚了 這個是第7行的文字,大家看清楚了
Time of Update: 2014-04-10
One of the most powerful JavaScript keywords is this. Unfortunately it is hard to use if you don't exactly know how it works. 在 JavaScript 中 this 是最重要的關鍵字之一。這篇貼文就是要告訴你如何用好 this。 Below I explain how to use it in event handling. Later on I'll
Time of Update: 2014-04-10
JavaScript是基於對象的一個程式設計語言,輸出JavaScript對象的內部結構可以使調試更方便。下面介紹一些查看對象內部結構的方法,可以讓你對對象內部的屬性與值一目瞭然。先來看一下簡單的方法:function dump_obj(myObject) { var s = ""; for (var property in myObject) { s = s + "n "+property +": " + myObject[property]; } alert(s); }
Time of Update: 2014-04-10
Java中的Map是一個很實用的集合,習慣了使用Java中的Map,換別的語言沒Map時感覺很不爽,以前寫Flex AS代碼時碰到過用要用Map的情況,不過AS其實有Dictionary字典類可以代替Java中的Map,同時也可以使用對象的屬性-值形式來實現Map,在這裡JS的Map實現就是使用的對象的屬性-值。實現很簡單,這裡只是為了讓Java程式員輕鬆的編寫JS代碼。//constructionfunction Map() { this.obj = new Object();}
Time of Update: 2014-04-10
做個頁面,需要這麼一個功能,就是滑鼠經過縮圖的時候同時顯示該縮圖的大圖,網上搜了一下,垃圾站太多了,所以還是自己寫了一個。比較簡單,但是還是在這裡記錄一下,瀏覽器測試還沒做,在Chrome下運行沒問題,僅供參考吧。 效果示範 Code <style type="text/css">.demo{ overflow:hidden; width:1
Time of Update: 2014-04-10
如何為數組取最大值與最小值。比較常見的方法估計是這樣:<script type="text/javascript">Array.prototype.max = function() { var max = this[0]; var len = this.length; for (var i = 1; i max) { max = this[i]; } } return max;}Array.prototype.min =
Time of Update: 2014-04-10
什麼是JSONP JSONP是一個非官方的協議,它允許在伺服器端整合Script tags返回至用戶端,通過javascript callback的形式實現跨域訪問(這僅僅是JSONP簡單的實現形式)。 如何使用JSONP 在用戶端調用提供JSONP支援的URL Service,擷取JSONP格式資料。 比如客戶想訪問http://www.myserver.com/myService.aspx?jsonp=callbackFunction,假設客戶期望返回JSON資料:[
Time of Update: 2014-04-10
使用window.history.go(-1)返回上頁的同時重新整理"上頁",這個適合用在"上頁"含有動態更新的內容,比如調用論壇的新帖,調用文章系統的最新文章等等。如果你的"上頁"沒有動態更新的內容,建議不要弄這個,別人點返回的時候還要再載入一次。 強制載入後重新整理一次 在要載入的頁面加入以下代碼: <script type="text/javascript">if(window.name != "bencalie"){
Time of Update: 2014-04-10
有時候我們需要提醒使用者,有新的訊息,這個可以使用下面的方法實現。 效果就是網頁視窗在沒有擷取焦點並且最小化的時候,網頁視窗的標題列“title”顯示的內容為“【 】”,“【新訊息】”的閃爍效果。 <script language="JavaScript"> setTimeout('flash_title()',2000); //2秒之後調用一次function flash_title() { //當視窗效果為最小化,或者沒焦點狀態下才閃動
Time of Update: 2014-04-10
JavaScript是解釋型語言是毋庸置疑的,但它是不是僅在運行時自上往下一句一句地解析的呢?事實上或某種現象證明並不是這樣的,通過《JavaScript權威指南》及網上相關資料瞭解到,JavaScript有“預解析”行為。理解這一特性是很重要的,不然在實際開發中你可能會遇到很多無從解析的問題,甚至導致程式bug的存在。為瞭解析這一現象,也作為自己的一次學習總結,本文逐步引導你來認識JavaScript“預解析”,如果我的見解有誤,還望指正。我們先來看一個例子:var lastName =
Time of Update: 2014-04-10
在JavaScript開發中,經常需要對Date類型的對象進行各種驗證或格式化,但是js並沒有提供那麼多的那麼細的函數,所以只好自己去用 prototype 擴充了,下面是我自己實現的Date類型常用操作方法,你可以將它另存新檔date.js,然後在程式中調用即可。/** * 日期時間指令碼庫方法列表: * (1)Date.isValiDate:日期合法性驗證 * (2)Date.isValiTime:時間合法性驗證 * (3)Date.isValiDateTime:日期和時間合法性驗證 * (
Time of Update: 2014-04-10
效果示範這個效果的製作是藉助setTimeout的第三個參數。setTimeout/setInterval,這兩個函數相信前端開發同學都很熟悉。它們在非IE(6-9)瀏覽器中還可以如下使用:setTimeout(function(obj){alert(obj.a);}, 2000,
Time of Update: 2014-04-10
在textarea中斷行符號,會產生逸出字元\r\n,有些時候我們不需要這兩個轉移字元,也就是清空textarea。下面的方法並不是清空,但是能夠起到差不多的效果。 如果在textarea中按斷行符號,內容提交之後,在textarea中會留下\r\n這兩個逸出字元,游標會在第二行。下面的程式通過alexa將焦點轉出去,再通過onfocus="this.value=''"這段代碼,將游標拉回到textarea最開始處,這樣就起到簡易的清空效果 效果示範 程式碼
Time of Update: 2014-04-10
最近深入學習javascript後,有個體會:物件導向的方式編程才是高效靈活的編程,也是現在唯一可以讓代碼更加健壯的編程方式。如果我們拋開那些玄乎的抽象出類等等思想,我自己對物件導向的從寫程式的角度理解就是:複用和封裝。複用具體就是讓你盡量少寫重複代碼,封裝就是將一些耦合度很高的邏輯放到一個程式塊裡,而且盡量讓裡面內容不受外界影響。最後的結論是:優秀的javascript代碼都是物件導向的。如何構建javascript對象?ECMA-262對對象的定義是:無序屬性的集合,其屬性可以包含基本值、對
Time of Update: 2014-04-10
下面的實驗是驗證push()函數與CreateElement()函數在建立HTML元素的效率。可以看出,實用push()確實效率要比後者要高,不過究竟可以高出多少,還需要有專研精神的朋友去測試了,這裡僅僅是拋磚引玉。 效果示範 this is div1 this is div2 JavaScript Code <script type="text/javascript">var d = new
Time of Update: 2014-04-10
JavaScript中最有特色而又讓你困惑的function算一個了,下面看一下常用操作:function doit(){.....}doit(); JavaScript中的函數我們可以把它當作方法使用var obj=new Object();obj.say=function(){.....}obj.say(); 而function實際上就是對象(即Function類型的執行個體)function result(num1, num2) { return
Time of Update: 2014-04-10
PHP print_r的函數很好用,可以用來列印數組、對象等的結構與資料,可惜JavaScript並沒有原生提供類似的函數。不過我們可以試著自己來實現這個函數,下面提供一些方法與思路。方法一function print_r(theObj) { var retStr = ''; if (typeof theObj == 'object') { retStr += '<div style="font-family:Tahoma; font-size:7pt;">';
Time of Update: 2014-04-10
本文講到的是如何從資料訪問層面上提高JS 代碼的執行效率。總的來講有以下幾條原則: 函數中讀寫局部變數總是最快的,而全域變數的讀取則是最慢的; 儘可能地少用with 語句,因為它會增加with 語句以外的資料的訪問代價; 閉包儘管強大,但不可濫用,否則會影響到執行速度以及記憶體; 嵌套的對象成員會明顯影響效能,盡量少用;
Time of Update: 2014-04-10
通過網頁title來提示使用者有新訊息這個功能很常見,比如現在的微博,還有一些郵箱,這個功能都很常見。如何?則個功能呢? 思路是:通過ajax訪問後台,若有新訊息,則將網頁的title替換為 提示資訊
Time of Update: 2014-04-10
淡入淡出效果,在日常項目中經常用到,可惜原生JS沒有類似的方法,而有時小的頁面並不值得引入一個jQuery庫,所以就自己寫了一個,已封裝, 有用得著的朋友, 可以直接使用。 代碼中另附有一個設定元素透明度的方法, 是按IE規則(0~100)設定, 若改成標準設定方法(0。00~1。00), 下面使用時請考慮浮點精確表達差值。 參數說明: fadeIn()與fadeOut()均有三個參數,第一個是事件, 必填; 第二個是淡入淡出速度, 正整數, 大小自己權衡, 選擇性參數; 第三個,