Time of Update: 2017-01-19
首先,我們要考慮一下它的源檔案布局,也就是決定代碼如何拆分到獨立的檔案中去。為什麼要這麼做呢?還記得上期結尾處我提到這個組件會使用“外部代碼”嗎?為了區分代碼的用途,決定將代碼至少分成兩部分:外部代碼檔案和 Smart Queue
Time of Update: 2017-01-19
另一方面,由於 JavaScript 通常會和宿主環境(比如瀏覽器)緊密結合,因此缺乏功能強大而簡單易用的開發工具。在這樣的環境中,開發組件或架構成為一項具有挑戰的工作。這次,我們將以一個簡易的 JavaScript 組件開發為契機,逐步展開組件的分析、設計、實現、構建和測試等任務,探討組件開發過程涉及的方方面面。這些探討將分 4 篇陸續張貼出來(連結將在張貼後更新): 分析和設計組件 編碼實現和演算法 用 Ant 構建組件 測試 JavaScript 組件
Time of Update: 2017-01-19
jQuery的選取器真的好強大,好靈活。 javascript的原始方法也值得研究。複製代碼 代碼如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CheckBoxList.aspx.cs" Inherits="CheckBoxList" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Time of Update: 2017-01-19
首先,我們來做個實驗吧。 開啟任何一個瀏覽器的空頁,在地址輸入欄中輸入以下代碼: 複製代碼 代碼如下: javascript:void(3); 會發生什麼呢? 答案是什麼都不會發生。 然後,我們再開啟一個瀏覽器的空頁面,在地址欄中輸入以下代碼: 複製代碼 代碼如下: javascript:function test(){return "hello";};test(); 這樣又會發生什麼呢,是什麼都不會發生嗎? 顯然不是,我們得到的是一個新的頁面,而且頁面的內容是JS代碼返回的值(也就是
Time of Update: 2017-01-19
javascript實現劃詞標記劃詞搜尋功能 雲棲社區是一個專業的收集各類指令碼學習資料的網站,盡量修正錯誤打造精品指令碼類學習網站,我們為大家遊戲指令碼資源,源碼,軟體,asp,php,javascript等編程資料,是網頁製作,網路編程,網站建設人士的聚集場所。 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]在頁面中加上這串代碼就行了,同時還有搜尋功能。
Time of Update: 2017-01-19
複製代碼 代碼如下:/* 給幾個js寫word的參考: this.Word.Selection.Font.Size = 16; //字型大小 this.Word.Selection.Font.Bold = true; //是否加粗 this.Word.Selection.ParagraphFormat.Alignment = 2; //0靠左對齊,1置中,2靠右對齊,數字只能0-9,慢慢試吧 this.Word.Selection.InsertRowsBelow(1); //下面加入一行
Time of Update: 2017-01-19
1.儲存html頁面到word 複製代碼 代碼如下: <HTML> <HEAD> <title> </title> </HEAD> <body> <form id="form"> <table id = "PrintA" width="100%" border="1" cellspacing="0" cellpadding="0" > <TR style="text-align :
Time of Update: 2017-01-19
JavaScript物件建構的可見度定義可以分為以下幾種: 1,私人屬性(private properties) 通過var關鍵字定義物件建構中變數的範圍,該變數只能在物件建構方法的範圍內被訪問。如: 複製代碼 代碼如下: function VariableTest() { var myVariable;//private } var vt = new VariableTest(); vt.myVariable;//這裡會出現undefined異常
Time of Update: 2017-01-19
一、從寫 cookie 說起。 var the_date = new Date("December 31, 2020"); var expiresDate = the_date.toGMTString(); document.cookie = "userDefineCSS=" + escape(title) + "; expires=" + expiresDate; 第一句是日期對象; 第二句將日期格式轉換成 GMT 格式;編者者: GMT 即格林威治標準時間,現在也稱 UTC
Time of Update: 2017-01-19
先來IE的,這是最大的使用者群,如果這部分開發不出來,基本可以說不用做了。IE雖然有Gradient濾鏡,但對比其他瀏覽器的實現特弱,沒有多重漸層(stop-color),不能實現角度漸層,而且還經常失效。我的思路是這樣,假如有一個帶文本的DIV,要實現多重線性漸層,我們首先得把它裡面的文本取出來,然后里面放幾個DIV,有幾重就放幾個,然後把它們漸層。如果是垂直漸層,這好辦,什麼也不用做,只需設定其濾鏡與各個高就行了。如果水平,就讓其浮動或絕對位置,放到適當的位置,設定其濾鏡與寬。但漸層濾鏡竟然
Time of Update: 2017-01-19
1)介紹javascript中的eval函數的用法 (2)如何在函數內執行全域代碼 ►先來說eval的用法,內容比較簡單,熟悉的可以跳過。 eval函數接收一個參數s,如果s不是字串,則直接返回s。否則執行s語句。如果s語句執行結果是一個值,則返回此值,否則返回undefined。 需要特別注意的是對象聲明文法“{}”並不能返回一個值,需要用括弧括起來才會傳回值,簡單樣本如下: 複製代碼 代碼如下: var code1='"a" + 2'; //運算式 var code2='{a:2
Time of Update: 2017-01-19
1、使用提交按鈕提交,在form表單中的onsubmit事件進行表單驗證: 複製代碼 代碼如下: <script type="text/javascript"> function onSub(){ //表單驗證代碼 } </script> <form action="" method="" onsubmit="javascript:onSub();"> 2、使用button或圖片的onclick事件調用表單驗證代碼: 複製代碼 代碼如下:
Time of Update: 2017-01-19
我是將當前頁用一個全域變數儲存。同時在“最後一頁”連結裡單擊方法調用一個函數自動去修改頁數為最後一頁,然後再調用載入評論的方法。 可是我發現點擊“最後一頁”第一次的時候系統沒反應,再點擊一次就抓去最後一頁的資料了! 要說全域變數沒改,應該是改了,就彷彿改了頁數而載入評論的方法失效了一樣。 代碼如下: 複製代碼 代碼如下: var page = 1; //初始化頁數為第一頁 var str = ""; $(document).ready(function() { lostguest();
Time of Update: 2017-01-19
1.你真的懂JavaScript裡面的Sort方法嗎? 2.你知道JavaScript中 localeCompare 方法的函數體嗎? 3.表格排序 方法 要哪些參數? JavaScript中的sort方法直接就提供了排序的功能,不需要我們自己寫個迴圈一個個的判斷。但其機制仍然是那樣的, 複製代碼 代碼如下: window.onload=function(){ var MyArr=new Array("red","green","gray"); MyArr.sort();
Time of Update: 2017-01-19
複製代碼 代碼如下:<script language="javascript"> function disableRightClick(e) { var message = "右鍵禁用..."; if(!document.rightClickDisabled) // initialize { if(document.layers) { document.captureEvents(Event.MOUSEDOWN); document.onmousedown =
Time of Update: 2017-01-19
圖1(彈出一個div) 圖2(彈出多個)建構函式: 複製代碼 代碼如下: var DivWindow= function(popup/*最外層div id*/,popup_drag/*拖動div id*/,popup_exit/*退出按鈕id*/ ,exitButton/*觸發伺服器端退出按鈕id*/,varwidth,varheight,zindex){ this.popup =popup ; this.height =varheight ; //視窗高度,並沒用來設定視窗高度寬度,
Time of Update: 2017-01-19
複製代碼 代碼如下: <script language=javascript> //全形空格為12288,半形空格為32 //其他字元半形(33-126)與全形(65281-65374)的對應關係是:均相差65248 //document.write((65281).toString(16)+"----"+(65374).toString(16)+"----"+(12288).toString(16)); String.prototype.dbc2sbc = function ()
Time of Update: 2017-01-19
記得早前就說過要和大家分享“javascript設計模式”,遲遲沒寫不是因為我懶,最近確實太忙,忙工作,忙旅遊(啊哦?),好不容易這幾天空閑了,接下來是兌現之前空口白話的時間了。 在討論設計模式之前,請確認您已經有一定的指令碼編程基礎,如果不甚瞭解,建議可以先查閱本人很久之前寫的這篇《淺談javascript物件導向編程》請看下一篇文章。 講到設計模式,不得不先重點著墨於“介面設計”,因為介面設計在設計模式中的意義太大了,大於模式本身。直觀起見,先介紹一下介面定義的形式: 複製代碼 代碼如下:
Time of Update: 2017-01-19
本期,我們要討論的話題是 JavaScript 的測試,以檢查組件的狀態和工作方式是否符合預期,還會介紹一個可以方便編寫測試案例的測試方法。這裡說的測試當然是使用自動化的測試手段,這是軟體品質保證(QA)的重要環節。就本系列文章介紹的 Smart Queue 來說,我們的測試目標包括:Task 對象的建立:第二期的代碼提供了多種建立方式,需要測試對象建立後的狀態。 Queue 內的任務運行次序:我們提供了兩種改變運行次序的方式:優先順序和依賴配置,同樣也要測試各種配置對次序的影響。
Time of Update: 2017-01-19
聽起來是不是很愜意?Let's go! 我們出發啦~ 這期,我們會使用 Ant 將上期編寫、整理的代碼檔案按指定的先後順序合并成單一的源檔案,然後壓縮這個檔案。這是構建 JavaScript 項目的基本步驟。Ant 是 Apache 的一個頂級開源項目,網上對它的介紹和安裝,已經有很多文章,這裡就不再贅述了。在構建之前,我們先來看看已有的檔案布局: smart-queue // 組件的根目錄 +--- src // JavaScript源檔案目錄 +--- lang.js //