




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
JavaScript程序設計與應用JavaScript面向對象編程目
錄JavaScript內置對象JSON自定義對象對象概述目
錄JavaScript內置對象JSON自定義對象對象概述一、對象和對象實例對象概述JavaScript是一門基于對象的腳本語言(基于原型的面向對象)1、對象
在現實生活中,對象是一個具體的事物,是一種看得見、摸得著的東西。例如,一本書、一輛汽車、一個人。
在JavaScript中,對象是一種數據類型,它是由屬性和方法組成的一個集合。屬性是指事物的特征,方法是指事物的行為。例如,在JavaScript中描述手機對象,手機的屬性:尺寸、顏色;手機的方法:打電話、發短信。是一種復合值,它將很多值(原始值或者其他對象)聚合在一起,可通過名字訪問這些值。對象也可看做是屬性的無序集合,每個屬性都是一個名/值對。屬性名是字符串,因此我們可以把對象看成是從字符串到值的映射。對象只是一種特殊的數據。對象擁有屬性和方法。在代碼中,屬性可以看成是對象中保存的一個變量,使用“對象.屬性名”,方法可以看成是對象中保存的一個函數,使用“對象.方法名()”進行訪問。對象不僅僅可以保持自有屬性,還可以從一個稱為原型的對象繼承屬性。對象的方法通常是繼承的屬性。這種“原型式繼承”(prototypalinheritance)是JavaScript的核心特征。2、對象的實例實例:是對象的具象化產品。比如一個具體的手機是手機對象的實例。對象可以有實例、實例一定是對象手機對象和實例對象概述對象概述二、對象的特點引用值變量名存儲在棧中,實際對象儲存在堆中,且存在一個指針由變量名指向儲存在堆中的實際對象引用值有屬性法引用值有自己的屬性和方法當把一個原始變量傳遞給另一個原始變量時,是把一個棧房間的東西復制到另一個棧房間,且這兩個原始變量互不影響。當把引用對象傳遞給另一個變量時,復制的其實是指向實際對象的指針,此時兩者指向的是同一個數據。若通過方法改變其中一個變量的值,則訪問另一個變量時,其值也會隨之加以改變。但若不是通過方法而是通過重新賦值,該值的原指針改變,則另外一個值不會隨他的改變而改變。目
錄JavaScript內置對象JSON自定義對象對象概述一、Number對象內置函數JavaScript內置對象Number是對應于原始數值類型和提供數值常數的對象。(實例)二、Boolean對象內置函數JavaScript內置對象Boolean是對應于原始邏輯數據類型的對象,它表示原始的Boolean值,只有true和false兩個狀態。(實例)三、String對象
String是對應于原始字符串數據類型的對象。在JavaScript腳本程序編寫過程中,String對象是最為常見的處理目標,用于存儲較短的數據。JavaScript語言提供了豐富的屬性和方法支持,方便Web應用程序開發者靈活地操縱String對象的實例。四、Math對象Math對象在JS中屬于抽象對象,不是構造函數,不能創建實例。五、Array對象內置函數JavaScript內置對象數組是包含基本和組合數據類型的有序序列。數組的實例[1,2,3]['a','b','c'][1,'a',true][{name:'jack',age:20},{name:'mary',age:18}]ECMAScript中的數組與其他多數語言中的數組有著相當大的區別(實例)六、Set對象內置函數JavaScript內置對象類似于數組,但是成員的值都是唯一的數組的實例(實例)七、Map對象Map對象就是一個鍵值對的集合,但是鍵的范圍不限于字符串,各種類型的值都可以當作鍵八、Date對象Date對象可以表示從毫秒到年的所有時間和日期,并提供了一系列操作時間和日期的方法。Date對象的構造函數通過可選的參數,可生成表示過去、現在和將來的Date對象。其構造方式有四種,分別如下:varmyDate=newDate();varmyDate=newDate(milliseconds);varmyDate=newDate(string);varmyDate=newDate(year,month,day,hours,minutes,seconds,milliseconds);九、RegExp對象內置函數JavaScript內置對象RegularExpression正則表達式的縮寫。是事先定義好的一些特定字符及這些特定字符的組合,組成一個“規則字符串”,可以用來檢索、替換文本。簡單的模式可以是一個單獨的字符,更復雜的模式可以用于格式檢查、替換、解析等。(實例)十、Error對象Error對象用來保存有關錯誤的信息。十一、Object對象Object對象是屬性和屬性值的集合。內置函數JavaScript內置對象(實例)十二、Function對象內置函數JavaScript內置對象(實例)ECMAScript的函數實際上是功能完整的對象。構造函數:都是Function對象的實例1、創建函數實例的方法:構造函數(很少用)、函數聲明、匿名函數2、箭頭函數
在JavaScript中,函數可以用箭頭語法(”=>”)來定義,我們稱之為箭頭函數,有時候也叫“lambda表達式”。Lambda表達式(lambdaexpression)基于數學中的λ演算得名,直接對應于其中的lambda抽象(lambdaabstraction)。Lambda表達式是一個匿名函數,即沒有函數名的函數。箭頭函數表達式的語法比函數表達式更簡潔,相比函數表達式它沒有自己的this、arguments、super或new.target。箭頭函數表達式更適用于那些本來需要匿名函數的地方,并且它不能用作構造函數。3、函數的屬性和方法內置函數JavaScript內置對象(實例)4、即時執行函數IIFE(ImmediatelyInvokedFunctionExpression)在定義時就會立即執行的函數,即函數定義變成了一個函數調用語句5、回調函數一個函數A作為參數傳遞給另一個函數B,然后在B的函數體內調用函數A,A稱為回調函數。
其中,匿名函數常用作函數的參數傳遞以實現回調函數。6、閉包JS的函數擁有相對獨立的作用域。函數內部聲明的是局部變量(函數參數也是局部變量),函數外部無法訪問內部的局部變量。函數可以訪問外部的全部變量。當內部函數作為返回值時,因為函數結束后內部變量的引用并未結束,函數的執行環境被保留下來,可以通過該引用訪問本該被回收的內部變量,從而形成了閉包效果。閉包:函數以及可訪問的外部的自由變量。當函數作為返回值時,外部可以訪問內部的變量由于閉包會使得函數中的變量都被保存在內存中,內存消耗很大,所以不能濫用閉包,否則會造成網頁的性能問題,可能導致內存泄露。目
錄JavaScript內置對象JSON自定義對象對象概述內置函數JSON(實例)一、什么是JSONJSON(JavaScript
ObjectNotation)是一種輕量級的數據交換格式。它基于
ECMAScript
(歐洲計算機協會制定的js規范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得JSON成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。JSON是DouglasCrockford在2001年開始推廣使用的數據格式,在2005年-2006年正式成為主流的數據格式,雅虎和谷歌就在那時候開始廣泛地使用JSON格式。JSON是JS對象的字符串表示法,它使用文本表示一個JS對象的信息,本質是一個字符串。內置函數JSON(實例)JSON格式可以用來表示一系列的值
100“abc”truenull[1,2,3,“one”]{“name”:“Amy”}簡單值或復合值字符串類型的值只能用雙引號,不能用單引號對象的屬性名必須加雙引號特殊值:對象中的undefined、函數會被忽略,數組中的則會轉成null內置函數JSON(實例)二、、JSON和JavaScript對象之間的互相轉換 1、要實現從JSON字符串轉換為JS對象,使用JSON.parse()方法: letobj=JSON.parse('{"a":"Hello","b":"World"}’);//結果是{a:'Hello',b:'World’} 2、要實現從JS對象轉換為JSON字符串,使用JSON.stringify()方法: letjson=JSON.stringify({a:'Hello',b:'World'});//結果是'{"a":"Hello","b":"World"}'目
錄JavaScript內置對象JSON自定義對象對象概述一、構造函數和原型的混合方式這種方式是ECMAScript中使用最廣泛,認同度最高的一種創建自定義類型的方法。構造函數模式用于定義實例屬性。創建實例時會將屬性復制一份,每個實例都有自己的一份實例屬性的副本,而且還支持向構造函數傳遞參數。原型模式用于定義方法和共享的屬性。每個實例繼承它的構造函數的原型的屬性和方法(不會多次創建方法)。這樣,最大限度的節省了內存。自定義對象(實例)二、ES6新語法自定義對象
classCar{
//1)定義屬性
constructor(sColor,iDoors){
this._color=sColor
this._doors=iDoors
};
//2)定義方法
drive(driver){
console.log
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車懸掛系統設計與性能評估考核試卷
- 玉米淀粉在制藥工業中的藥物載體與控釋系統考核試卷
- 一年級語文拼音過關練習題三篇
- 印刷項目管理與執行考核試卷
- 竹材采運市場趨勢預測與決策支持考核試卷
- 介紹春節初二語文作文
- 珠寶首飾企業戰略規劃考核試卷
- 生物多樣性展示教具考核試卷
- 糧油節能減排技術考核試卷
- 洗浴養生食療搭配考核試卷
- 酒店新員工安全知識培訓
- (高清版)DB11∕T1191.3-2024實驗室危險化學品安全管理要求 第3部分:科研單位
- DBJ33∕T 1104-2022 建設工程監理工作標準
- 種子輪融資合同協議范本
- 2025年安陽職業技術學院單招職業技能測試題庫有答案
- 2025年河北雄安新區雄縣事業單位招聘考試筆試高頻重點模擬試卷提升(共500題附帶答案詳解)
- 7.3 重力(課件)2024-2025學年人教版八年級物理下冊
- 現代物流園區的應急物資儲備與調配
- 2025年河南省高職單招計算機類職業技能測試題庫及答案(供參考)
- 氣管切開拔管指征及護理
- DB11-T 1390.4-2018 環衛車輛功能要求 第4部分:餐廚廢棄油脂運輸車輛
評論
0/150
提交評論