javascript 的trim 函數在firefox 下面使用沒有問題<script language="javascript"> var test1 = " aa "; test1 = test1.toString(); test1 = test1.trim(); </script>在Firefox下這樣用沒有問題, 但是在IE下就報錯那麼我們可以修改一下String.prototype.trim=function(){return this.replace(/(^\
比如 複製代碼 代碼如下: a * b + c; ,先算乘方,再算乘除,最後算加減 ,有括弧,先算括弧裡面的,同一級運算按照從左至右的順序依次進行 這一點所有的程式設計語言都採取數學中數位計算順序。當然程式設計語言中還有一些不同於數學中的運算子。那運算數的求值順序是如何的呢? 如下 複製代碼 代碼如下: // 求 a 和 b的和 sum = a + b; ,從記憶體中取a的值 ,從記憶體中取b的值 ,進行相加運算
先來看以下3段代碼 複製代碼 代碼如下: var firstName = "Mark"; (function DisplayFirstName() { console.log(firstName); })();//必然輸出 Mark var lastName = "Aut"; (function DisplayLastName() { var lastName = "Bru"; console.log(lastName); })();//必然輸出 Bru, 本地範圍的優先順序高於全域範圍
——這就要從JAVASCRIPT的解譯器開始說起了:每當JAVASCRIPT解譯器開始執行一個函數的時候,都會建立一個執行環境,並且還會產生一個和這個函數息息相關的變數對象,在這個執行環境中定義的一切變數或者函數都會被他儲存起來。但是他就像有關部門,可能和你息息相關,但是你永遠找不到他的身影,你是無法調用這個對象的,但是JAVASCRIPT解析器處理資料時便會調用到它。
複製代碼 代碼如下: <!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>javascript資料類型</title> </head> <body> <script type="text/javascript"> /**
複製代碼 代碼如下: /* * 包含jquery-1.3.2.min.js */ document.write("<script language='javascript' src='js/jquery-1.3.2.min.js'></script>"); /* * 公用參數 */ var hostUrl='http://'+window.location.host; //擷取網站主機頭 /* * 水平置中left值 */ function HorCenter(x){
對回呼函數的參數說明也很準確: 第一個參數是匹配到的字串,最後一個是原字串,倒數第二個參數是匹配到的字串的在原字串索引的起始位。 但我很好奇,第二到倒數第三之間的參數又是些什麼呢?其實,W3school已經給出了答案: 複製代碼 代碼如下: replace() 方法用於在字串中用一些字元替換另一些字元,或替換一個與Regex匹配的子串。其文法為: stringObject.replace(regexp/substr,replacement) replacement
複製代碼 代碼如下: console.log('----1----') console.log('12' + '34')//'1234' console.log('12' + 34 )//'1234' console.log(12 + '34')//'1234' console.log(12 + 34 )//46 console.log('----2----') console.log(+'12' + '34')//'1234' console.log(+'12' + 34 )//46
一.js物件導向的一種實現 複製代碼 代碼如下: <script type="text/javascript"> function Person() { this.name = "張三"; this.age = 0; var nickName = "小三"; //類似私人變數,函數中的局部變數在函數執行完後自動銷毀. this.SayHi = function () { alert("我的名字是" + this.name + " ,大家都叫我" + nickName + "
構成 這是一個十分常見的微博列表頁面,類似於新浪微博。上周末,在心無旁騖情況下,一共用了5個對象,產出400行代碼,實踐出一種程式碼群組織模式。 使任務輕鬆完成的代碼有4個方面的要素組成: 要素組成模型Reply、Forward視圖CommentEditor、ReplyList、ForwardList模板jQuery.tmpl非同步任務jQuery.Deferred分部介紹 模型 模型只與資料有關,它能夠產生、過濾、儲存、驗證資料,並且僅此而已。
javascript 動態改變onclick事件觸發函數代碼 原來的方法 通過點擊,改變原來的方法的執行 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
案例背景: 整個功能其實就是從資料庫取出資料,然後在介面上播放,簡單地說就是類似網上線上看視頻,聽音樂,只不過我取的是字串資料,而他們取的是流檔案資料。把整體資料分成十份,十個線程同時向資料庫取資料(並發提高速度)放在十個隊列中,另外一個線程從隊列中取資料拿出來到介面上播放,可以拖動播放進度,停止,暫停,重新播放,控制播放速度。恩,功能聽起來似乎很簡單,做起來也不是很難。但是後面發現的一些問題,以及順著這些問題往下挖掘,挖掘了一些我認為值得記住的東西。 關鍵東西: 1.
1,dispatchEvent()這是標準的觸發事件方法,使用時需要先建立好事件對象。如下複製代碼 代碼如下: var evt = document.createEvent('Event'); evt.initEvent('click',true,true); element.dispatchEvent(evt); 2,fireEvent() 這是IE舊版本中實現的觸發事件方法,它無須建立事件對象,直接使用。如下 複製代碼 代碼如下: element.fireEvent('onclick');
閉包的定義非常晦澀——閉包,是指文法域位於某個特定的地區,具有持續參照(讀寫)位於該地區內自身範圍之外的執行域上的非持久型變數值能力的段落。這些外部執行域的非持久型變數神奇地保留它們在閉包最初定義(或建立)時的值(深連結)。簡單來說,閉包就是在另一個範圍中儲存了一份它從上一級函數或範圍取得的變數(索引值對),而這些索引值對是不會隨上一級函數的執行完成而銷毀。周愛民說得更清楚,閉包就是“屬性工作表”,閉包就是一個資料區塊,閉包就是一個存放著“Name=Value”的對照表。就這麼簡單。但是,必須強
對於初學者來說,理解Javascript閉包(closure)還是比較困難的,而撰寫此文的目的就是用最通俗的文字揭開Javascript閉包的真實面目,讓初學者理解起來更加容易一些。 一、什麼是閉包? “官方”的解釋是:閉包是一個擁有許多變數和綁定了這些變數的環境的運算式(通常是一個函數),因而這些變數也是該運算式的一部分。相信很少有人能直接看懂這句話,因為他描述的太學術。
一、文法 delete後面的運算式必須給出一個屬性的引用,比如 var o = {a:1}; delete o.a; //此處o.a是對象o的屬性a的引用 只有在with語句裡才能使用單獨的屬性名稱 複製代碼 代碼如下: with(o){ delete a; } 二、delete的傳回值 delete是普通運算子,會返回true或false。規則為:當被delete的對象的屬性存在並且不能被刪除時 返回false,否則返回true。
起因: 今天在閱讀snandy大神的讀jQuery之五(取DOM元素)時,看到有講到toArray()方法,具體jQuery代碼如下: 複製代碼 代碼如下: toArray: function() { return slice.call( this, 0 ); }, get: function( num ) { return num == null ? // Return a 'clean' array this.toArray() : // Return just the object (
第十九章 用戶端儲存 1.cookie ①最初是在用戶端用於儲存會話資訊的。 1.1 限制 ①cookie在性質上是綁定在特定的網域名稱下的。當設定了一個cookie後,再給建立它的網域名稱發送請求時,都會包含這個cookie。 ②cookie的限制: □IE6以及更低版本限制每個網域名稱最多20個cookie。 □IE7和之後版本每個網域名稱最多50個cookie。 □Firefox50個 □Opera50個 □Safari和Chrome無硬性規定
對window.open進行封裝, 使其更好用, 且更相容, 很多人說window.open不相容,其實不是, 因為不能直接執行, 必須通過使用者手動觸發才行;看代碼:代碼如下var openWindow = function(url, options) {var str = "";if (options) {options.height = options.height || 420;options.width = options.width || 550;options.left =
如果你直接在函數a裡調用的話,那麼這個回呼函數就被限制死了。但是使用函數做參數就有下面的好處:當你a(b)的時候函數b就成了回呼函數,而你還可以a(c)這個時候,函數c就成了回呼函數。如果你寫成了functiona(){...;b();}就失去了變數的靈活性。複製代碼 代碼如下:function a(index,callback){callback(index); }function b(index){alert(index);}a(10000,b);