Time of Update: 2017-02-27
在做公司的CMS的時候出現了一些js的問題,其中有一個就是在頁面非輸入框中按下回退鍵[backspace鍵]時頁面會跳轉到上一頁,但是上一頁載入失敗,說會話已到期,問題描述到此結束.解決辦法:第一直覺就是上網搜答案,但是結果不理想。第二上論壇上看看有沒有解決辦法,到是找到一個類似的問你‘在IE裡按backspace鍵時如何知道是發生在input還是在中文IME框?’地址:http://www.iteye.com/problems/3272問題類似,但是不是解決辦法,還好的
Time of Update: 2017-02-27
//計算字串長度(英文佔1個字元,中文漢字佔2個字元)方法一:String.prototype.gblen = function() { var len = 0; for (var i=0; i<this.length; i++) { if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) { len += 2; } else
Time of Update: 2017-02-27
實現效果:圖一:圖二:此例中輸入的中文字串“萬萬保重”,有三個字是多音字,所以alert對話方塊中顯示的是多種讀音的組合;如何??如何?通過拼音首字母快速尋找頁面內的中文內容呢?過程原理是這樣的:例如要對一些人名進行快速尋找,當頁面載入完成後,對所有人名建立一個索引,產生拼音首字母與姓名的對應關係;然後監聽鍵盤事件,當使用者按下鍵盤時,根據索引值得到按下的是哪個字母,然後遍曆索引中是否存在相同的拼音首字母;這裡還實現了根據字母組合來尋找的功能,原理是這樣的:當使用者按鍵時
Time of Update: 2017-02-27
優雅的封裝還是執行的效率?這是一個悖論。優雅封裝的程式看起來是那麼的美妙:每個屬性被隱藏在對象之後,你所能看到的就是這個對象讓你 看到的,至於它到底是怎麼操作的,這個不需要你操心。執行的效率就是另外一回事。就像是C語言和物件導向的C++之間的差別:C++很優雅,但是執行效率 ,無論是編譯後的二進位代碼還是運行期的記憶體的佔用,都要比簡單的C語言多出一截來。這個問題在指令碼語言中顯得更加重要,因為JavaScript根本就是一種解釋語言,解釋語言的執行效率
Time of Update: 2017-02-27
1.什麼是閉包?什麼是閉包?一種正式的解釋是:所謂閉包,指的是一種擁有很多變數並且綁定了這些變數的環境的 運算式(通常是一個函數),因而這些變數也是這個運算式的一部分。相信很多人都不會理解這個定義,因為他的學術味道太濃了——或許你喜歡從字面的文法 上進行分析:首先,它是一個運算式,這個運算式綁定了很多變數以及這些變數的環境。不過這並沒有 什麼意義,這依然不會告訴我們什麼是閉包。那麼,來看一個例子:function add(a) { return function(b) {
Time of Update: 2017-02-27
封裝是物件導向的重要概念之一。如果一個程式沒有封裝性,也就談不上什麼物件導向。但是, JavaScript並不像其他的語言,比如 Java,有公有變數和私人變數等;在JavaScript中只有一種範圍 :公有範圍。在本章中,我們將會見識到JavaScript是如何?封裝的特性的。1.this和公 有變數首先需要理解this關鍵字。看下面的一段代碼,你應該對此感到熟悉:function Person(name, age) { this.name = name; //
Time of Update: 2017-02-27
類是物件導向程式設計的核心概念之一。一個類代表了具有相似屬性的一類事物的抽象。從本篇開始 ,我們將正式的進入JavaScript的物件導向部分。首先需要注意的是,在JavaScript中並沒有“類 ”這一關鍵字——在大多數語言中都是使用class作為關鍵字的。所以,這裡的類就成 了一個概念,它沒有明確的文法標誌。1.類和建構函式前面說過,在JavaScript中並沒有明確的類的概念。實際上,我們給出的只是類的建構函式。類的構
Time of Update: 2017-02-27
在很多語言中,函數(Java裡面成為方法)和對象時截然不同的兩種東西。函數被定義為對象的動作, 或者是全域的(像在C++中的main函數一樣)。但是在JavaScript中,函數和對象的界限卻顯得不那麼明顯 。1.函數的定義JavaScript中有很多種定義函數的方法:function hello() { alert("Hello!"); }var hello1 = function() { alert("Hello! "); };var hello2 =
Time of Update: 2017-02-27
1.對象對象是物件導向程式設計的基礎概念之一,只需看看這個名字就已經知道了。在我們 熟悉的物件導向語言中,比如Java或者C++,都有著類似的對象定義方法。比如,我們想定義一個類,名 字叫Person,有兩個屬性:name和age,另外有一個方法,將顯示出這個Person對象的名字和年齡,那麼 我們可以用下面的代碼實現:Java:public class Person { private String name; private int age; public String getName()
Time of Update: 2017-02-27
或許你會奇怪,物件導向的程式設計為什麼從數組開始講起?這是因為……其間的種種 關係吧……嘿嘿,這裡先賣個關子,先來看看我們熟悉的數組在JavaScript裡面是什麼樣 子的。1.建立數組在JavaScript中有很多建立數組的方法。比如使用Array函數。不過 這不是現在我們要講述的。現在我們使用簡單的方括弧“[]”的辦法來建立數組。var objAyyar = []; // 1var objAyyar = [2];
Time of Update: 2017-02-27
基於對象還是物件導向?物件導向技術是現代軟體開發中的重要技術之一。物件導向變成的好處毋庸置疑,現在的主流語言如 Java、C++都是物件導向的。現在的物件導向理論更多的是使用Java或C++進行描述,究其根源,在於這 些語言都是傳統的物件導向語言,具有物件導向理論所指明的一切特性:類、封裝、繼承、多態等等。相比而言,一些動態語言如JavaSript就顯得不那麼物件導向——至少,在JavaScript中
Time of Update: 2017-02-27
Javascript的字串有個indexOf的方法,能夠返回字元在指定的字串中的位置,非常有用,本文介紹了如何給Javascript數組也添加一個類似的方法。<script type="text/javascript">//<![CDATA[[].indexOf || (Array.prototype.indexOf = function(v){for(var i = this.length; i-- && this[i] !==
Time of Update: 2017-02-27
javascript 中 indexOf 是嚴格區分大小寫如何才能忽略大小寫呢?把他們全都換成大寫或小寫,再比較就可以了indexOf對象內第一次出現子字串的字元位置用toLowerCase或toUpperCase<script>var testStr = 'ABCDEF';var subStr = 'bcd'; alert(testStr.toLowerCase().indexOf(subStr.toLowerCase()));testStr =
Time of Update: 2017-02-27
JavaScript中indexOf方法的文法:theString.indexOf(subString,[n])。它在指定字串對象中尋找傳送的子字串,如果指定參數n,它可以從指定的位置開始向前搜尋(從左往右)。如果找到子字串,返回子字串在字串中的位置;如果沒有找到相應的字串,返回-1。利用它的這個屬性,我們可以叫它幹很多事,只要你指揮得當。一、判斷OS雖然HTTP協議是跨平台的,但你編寫的HTML頁面最終的顯示效果卻往往與用戶端所用的作業系統有關。比如MSOS系列(MS-DOS,Windows
Time of Update: 2017-02-27
Definition and Usage定義與用法The indexOf() method returns the position of the first occurrence of a specified string value in a string.indexOf()方法返回指定值在字串中第一次出現的位置 Syntax文法stringObject.indexOf(searchvalue,fromindex) Parameter
Time of Update: 2017-02-27
今天同事問我一個關於JavaScript中替換的問題,他又一段字串“</SheetItems><ElectricalStatus>”,希望用“!”來替換“<”,用了replace函數卻發現只能替換掉第一個“<”。如:<script language="javascript">var str="</SheetItems&
Time of Update: 2017-02-27
第一次發現JavaScript中replace() 方法如果直接用str.replace("-","!") 只會替換第一個匹配的字元. 而str.replace(/-/g,"!")則可以替換掉全部匹配的字元(g為全域標誌)。-------------------------------------------------------- 用replace 方法文法stringObj.replace(rgExp, replaceText)
Time of Update: 2017-02-27
在javascript中,String的函數replace()簡直太讓人喜愛了。它靈活而強大的字元替換處理能力,讓我不禁想向大家介紹它。replace()最簡單的算是能力就是簡單的字元替換。範例程式碼如下:<script language="javascript">var strM = "javascript is a good script language";//在此我想將字母a替換成字母Aalert(strM.replace("
Time of Update: 2017-02-27
不像域級有效性檢查(field-level validation),表單級有效性檢查(form-level validation)將整個表單上的某組(或全部)值作為一個整體分析其一致性。表單級有效性檢查一般發生在將一個已完成的Html 表單提交給CGI 程式之前。我們這樣做是為了確保使用者在將資料發送至伺服器之前,已經填寫了所有的必填域。驗證整個表單其實相當簡單。在我們的例子當中,我們已經去除了大部份會自動彈出即時警告資訊的域級有效性檢查。下面是一個例子:function
Time of Update: 2017-02-27
今天要用js實現一些用戶端功能,考慮到商務邏輯,使用OO的開發方式會很方便,於是認真查看了相關的幾篇文章,有一些心得體會。首先是定義類。js中定義類是使用function,執行個體化使用new操作符:function class1() {this.a = 'class1'; this.m1 = function() { alert('class1.m1'); }}class1.prototype.m2 = function() { alert('class1.m2');}var