Time of Update: 2018-12-08
如下 複製代碼 代碼如下:var a = 3; 實際有兩個步驟: 1 初始化a為undefined 2 a賦值3 因此會出現一些“匪夷所思”的現象,即JS中變數可以先使用後聲明。這在Java中是不允許的。 複製代碼 代碼如下:System.out.println(a); int a = 1; 編譯通不過。但JS可以,如下 複製代碼 代碼如下:alert(a); var a; 雖然是undefined,但不會報錯。說明a的確聲明了,且為undefined。
Time of Update: 2018-12-08
2.9 運算子 2.9.1、一元運算子 一元運算子只有一個參數,即要操作的對象或值。 1、delete:刪除對以前定義的對象屬性或方法的引用,但此運算子不能刪除開發人員未定義的屬性和方法。樣本: 複製代碼 代碼如下:var o=new Object; o.name="Nicholas"; o.show=function(){ return "test"; }; console.log(o.name); //outpus Nicholas console.log(o.show()); //
Time of Update: 2018-12-08
複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="http:
Time of Update: 2018-12-08
1. 簡化代碼 JavaScript定義對象和數組非常簡單,我們想要建立一個對象,一般是這樣寫的: 複製代碼 代碼如下:<SPAN style="FONT-FAMILY: verdana, geneva">var car = new Object(); car.colour = 'red'; car.wheels = 4; car.hubcaps = 'spinning'; car.age = 4; </SPAN> 下面的寫法可以達到同樣的效果: 複製代碼
Time of Update: 2018-12-08
第十八章 進階技巧 1.進階函數 1.1 範圍安全的建構函式 ①直接調用建構函式而不適用new操作符時,由於this對象的晚綁定,它將映射在全域對象window上,導致對象屬性錯誤增加到window。 複製代碼 代碼如下:function Person(name,age,job){ this.name = name; this.age = age; this.job = job; } Var person = Person("Jay",29,"singer");
Time of Update: 2018-12-08
一、文法 delete後面的運算式必須給出一個屬性的引用,比如 var o = {a:1}; delete o.a; //此處o.a是對象o的屬性a的引用 只有在with語句裡才能使用單獨的屬性名稱 複製代碼 代碼如下:with(o){ delete a; } 二、delete的傳回值 delete是普通運算子,會返回true或false。規則為:當被delete的對象的屬性存在並且不能被刪除時 返回false,否則返回true。
Time of Update: 2018-12-08
——這就要從JAVASCRIPT的解譯器開始說起了:每當JAVASCRIPT解譯器開始執行一個函數的時候,都會建立一個執行環境,並且還會產生一個和這個函數息息相關的變數對象,在這個執行環境中定義的一切變數或者函數都會被他儲存起來。但是他就像有關部門,可能和你息息相關,但是你永遠找不到他的身影,你是無法調用這個對象的,但是JAVASCRIPT解析器處理資料時便會調用到它。
Time of Update: 2018-12-08
構成 這是一個十分常見的微博列表頁面,類似於新浪微博。上周末,在心無旁騖情況下,一共用了5個對象,產出400行代碼,實踐出一種程式碼群組織模式。 使任務輕鬆完成的代碼有4個方面的要素組成: 要素組成模型Reply、Forward視圖CommentEditor、ReplyList、ForwardList模板jQuery.tmpl非同步任務jQuery.Deferred分部介紹 模型 模型只與資料有關,它能夠產生、過濾、儲存、驗證資料,並且僅此而已。
Time of Update: 2018-12-08
插入排序 插入排序是這樣實現的: 首先建立一個空列表,用於儲存已排序的有序數列(我們稱之為"有序列表")。 從原數列中取出一個數,將其插入"有序列表"中,使其仍舊保持有序狀態。 重複2號步驟,直至原數列為空白。 插入排序的平均時間複雜度為平方級的,效率不高,但是容易實現。它藉助了"逐步擴大成果"的思想,使有序列表的長度逐漸增加,直至其長度等於原列表的長度。 (引自百度百科) javascript代碼 複製代碼 代碼如下:<script
Time of Update: 2018-12-08
去某公司(公司名不說了,人這套題說不定還要用)面試,現場30分鐘做了一套題,其中有一道是這樣的: 要求用js寫一個函數,對傳入的形如下網址字串,返回對應的對象。 如: 若傳入字串a='?name=zhiyelee&blog=www.tsnrose.com'; 則返回 b={‘name':'zhiyelee','blog':'www.tsnrose.com'} 當時由於時間比較短,實現的有些問題,回來後想了一下,總結如下:
Time of Update: 2018-12-08
複製代碼 代碼如下:題目:要求寫一個函數,去掉給定數組中的重複值。 如: 傳入數組 a = [0, 8, 5, 4, 78, 8, 90, 4, 'a', 'b', 'a']; 要求返回:[0,4,5,8,78,90,a,b] 對於這個題目,在面試之後也想了好多次,不過一直沒能想出一個時間複雜度較低的方法。昨天下午在宿舍看《JavaScript語言精粹》看到一個書中的一段代碼有所觸發,於是在jsfiddle上測試了,成功。代碼如下(完整版參見jsfiddle) 複製代碼 代碼如下:var
Time of Update: 2018-12-08
複製代碼 代碼如下:function isNum()//判斷小鍵盤輸入數字 { var str=(window.event.keyCode); if(str>105 || str<96 ) { if (str!=8 ) { window.event.returnValue=false; return; } } } function isNumUp()//判斷主鍵盤輸入數字 { var str=(window.event.keyCode); if(str>57 ||
Time of Update: 2018-12-08
例子1: 複製代碼 代碼如下:var obj={0:'a',1:'b'} alert(obj.length); //undefined var arr=['a','b'] alert(arr.length); // 2 從上面的例子看,類數組對象中的length屬性並不和它儲存的資料數量直接掛鈎,無論是索引屬性(0,1)還是length屬性都作為對象的普通屬性存在,它們之間並沒有任何關係,js引擎並不會根據儲存資料的數量來自動計算類數組對象的長度。
Time of Update: 2018-12-08
複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>test</title> <script
Time of Update: 2018-12-08
類型賦值類似變數傳遞的問題。 基礎資料型別 (Elementary Data Type)不必說,傳值的。 複製代碼 代碼如下:var a=5; var b=a; b=3; alert(a);//提示5 alert(b);//提示3 由此觀之,發現改變b不會改變a,因為都是變數的值在來回傳遞,和變數本身沒有關係。 物件類型,傳址的。 複製代碼 代碼如下:var a=new Object(); a.x=5; var b=a; b.x=3; alert(a.x);//提示3 alert(b.x);//
Time of Update: 2018-12-08
可是,沒有類,何來物件導向一說?沒有關係,可以類比。而且這一套方法已經成為公認的JS實現物件導向的方法。 另外,JS內的東西完全開發,也就不存在成員的什麼private、protected範圍。 下面切入正題。 一、類型 //從基礎開始,省的後面看著吃力 1、類型的區別 基礎資料型別 (Elementary Data Type)和物件類型不是一回事。 a、基本類型只是一個值,沒有任何行為;而物件類型有自己的行為。 b、基本類型是實值型別,僅表示一個值;物件類型則擁有許多複雜的東西。
Time of Update: 2018-12-08
關於javascript中類的繼承可以參考阮一峰的Blog《Javascript繼承機制的設計思想》,說的很透。一、在javascript中執行個體化遇到的問題:下面用《javascript進階程式設計》中的例子來做說明,假如現在定義了一個car的對象,它是Object類的執行個體。像下面這樣的:複製代碼 代碼如下:var oCar=new Object(); oCar.color = "red"; oCar.doors = 4; oCar.mpg = 23; oCar.showColor =
Time of Update: 2018-12-08
複製代碼 代碼如下:/* * 獲得時間差,時間格式為 年-月-日 小時:分鐘:秒 或者 年/月/日 小時:分鐘:秒 * 其中,年月日為全格式,例如 : 2010-10-12 01:00:00 * 返回精度為:秒,分,小時,天 */ function GetDateDiff(startTime, endTime, diffType) { //將xxxx-xx-xx的時間格式,轉換為 xxxx/xx/xx的格式 startTime = startTime.replace(/\-/g, "/");
Time of Update: 2018-12-08
複製代碼 代碼如下:/* 代碼1 */ var scope = "global "; function checkScope() { var scope = "local "; function childCheck() { var scope = "childLocal "; document.write(scope); } function childUndefined() { document.write(scope); var scope; } function
Time of Update: 2018-12-08
複製代碼 代碼如下://convert string to xml object function String2XML(xmlString) { // for IE if (window.ActiveXObject) { var xmlobject = new ActiveXObject("Microsoft.XMLDOM"); xmlobject.async = "false"; xmlobject.loadXML(xmlstring); return xmlobject; } //