版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、JavaScript程序設計第4章 JavaScript對象4.1 對象簡介4.2 創(chuàng)建對象4.3 對象特性4.4 單體內(nèi)置對象JavaScript程序設計第4章 JavaScript對象4.5 實戰(zhàn):產(chǎn)生n個不重復隨機數(shù)JavaScript程序設計 對象 所謂對象,就是一種無序的數(shù)據(jù)集合,由若干個“鍵值對”(key-value)構(gòu)成;var o = p: Hello World;4.1 對象簡介第4章 JavaScript對象JavaScript程序設計 對象屬性4.1 對象簡介第4章 JavaScript對象JavaScript程序設計屬性屬性類型描述Prototype對象對象的原型,用來
2、實現(xiàn)繼承功能的關(guān)鍵對象Class字符串描述對象類型的字符串值,使用typeof操作符返回的結(jié)果Get函數(shù)返回屬性值。獲取指定屬性名的值Put函數(shù)設置指定的屬性值。為指定的屬性賦值CanPut函數(shù)返回指定屬性是否可用通過Put操作設置值HasProperty函數(shù)返回對象是否有指定的屬性Delete函數(shù)從對象中刪除指定屬性DefaultValue函數(shù)返回對象的默認值,只能是原始值,不能是引用類型Construct函數(shù)通過new操作符創(chuàng)建一個對象。實現(xiàn)了這個內(nèi)部屬性的對象被叫做構(gòu)造函數(shù)(可以理解為類)Call函數(shù)執(zhí)行關(guān)聯(lián)在對象上的代碼,通過函數(shù)表達式調(diào)用(也就是通過函數(shù)名調(diào)用函數(shù)),實現(xiàn)了這個內(nèi)部方
3、法的對象被叫做函數(shù)HasInstance函數(shù)返回給定的值是否擴展了當前對象的屬性和行為(可以理解為給定的對象是否為本類創(chuàng)建的對象),在JavaScript本地對象中,只要Function對象實現(xiàn)了這個屬性Scope對象作用域鏈定義了一個函數(shù)的執(zhí)行環(huán)境 對象字面量模式創(chuàng)建對象var person = name : Nicholas; age : 22; job :software Engineer; sayName: function() alter();4.2 創(chuàng)建對象第4章 JavaScript對象JavaScript程序設計 工廠模式創(chuàng)建對象function create
4、Person(name,age,job)var o = new Object(); = name;o.age = age;o.job = job;o.sayName = function()alert();return o;var person1 = createPerson(Nicholas,22,software Engineer);var person2 = createPerson(Greg,24,student);4.2 創(chuàng)建對象第4章 JavaScript對象JavaScript程序設計 構(gòu)造函數(shù)模式創(chuàng)建對象function Person(name,a
5、ge,job) = name;this.age = age;this.job = job;this.sayName = function() alert();/通過new操作符創(chuàng)建Person的實例var person1 = new Person(Nicholas,22,software Engineer);var person2 = new Person(Greg,24,student);person1.sayName();person2.sayName();4.2 創(chuàng)建對象第4章 JavaScript對象JavaScript程序設計 原型模式創(chuàng)建對象f
6、unction Person() P =Nicholas;Ptotype.age = 22;Ptotype.job = software Engineer; Ptotype.sayName()alert();var person1 = new Person();person1.sayName(); /Nicholasalert(person1.sayName = person2.sayName);/true4.2 創(chuàng)建對象第4章 JavaScript對象JavaScript程序設計組
7、合使用構(gòu)造函數(shù)模式和原型模式創(chuàng)建對象4.2 創(chuàng)建對象第4章 JavaScript對象JavaScript程序設計 動態(tài)原型模式創(chuàng)建對象function Person(name,age) = name;this.age = age;this.job =job;/方法if(typeof this.sayName != function) Ptotype.sayName = function() alert(); var friend = new Person(Nicholas,22,Software Engineer); /初次調(diào)用構(gòu)造函數(shù),
8、此時修改了原型var person2 = new Person(amy,21); /此時sayName()方法已經(jīng)存在,不會再修改原型4.2 創(chuàng)建對象第4章 JavaScript對象JavaScript程序設計 任務1.任務介紹定義一個Person對象,對象包括屬性姓名,并獲取實例化對象Person的姓名信息。2.任務目標學會JavaScript幾種創(chuàng)建對象模式及全局變量的存儲機制。3.實現(xiàn)思路1)選用構(gòu)造函數(shù)模式創(chuàng)建對象,并且將屬性為方法的屬性定義到函數(shù)之外。2)全局變量是綁定在window對象上的,是window對象的屬性。4.2 創(chuàng)建對象第4章 JavaScript對象JavaScrip
9、t程序設計 對象的四種特性 抽象性 封裝性 繼承性 多態(tài)性 4.3 對象特性第4章 JavaScript對象JavaScript程序設計 任務1.任務介紹定義一個Student類作為Person類的子類,在Student類中繼承父類的walk()方法、重新定義父類的sayHello()方法并添加Student類自己的sayGoodBye()方法。2.任務目標理解JavaScript面向?qū)ο蟮乃拇筇匦圆⒄莆談?chuàng)建對象的方法。3.實現(xiàn)思路1)選用構(gòu)造函數(shù)模式創(chuàng)建對象,并且將屬性為方法的屬性定義到函數(shù)之外。2)全局變量是綁定在window對象上的,是window對象的屬性。4.3 對象特性第4章 Ja
10、vaScript對象JavaScript程序設計 Global對象 Global 對象是 JavaScript 中最特別的對象,因為實際上它根本不存在。Global 對象在某種意義上是作為一個終極的兜底兒對象來定義的。換句話說,不屬于任何其他對象的屬性和方法,最終都是它的屬性和方法。所有在全局作用域中定義的屬性和函數(shù),都是 Global 對象的屬性。4.4 單體內(nèi)置對象第4章 JavaScript對象JavaScript程序設計 Global對象常用內(nèi)置方法 (1)URI 編碼方法 (2)eval()方法4.4 單體內(nèi)置對象第4章 JavaScript對象JavaScript程序設計 Glob
11、al對象的屬性4.4 單體內(nèi)置對象第4章 JavaScript對象JavaScript程序設計屬性釋義undefined特殊值undefinedNaN特殊值NaNInfinity特殊值InfinityObject構(gòu)造函數(shù)ObjectArray構(gòu)造函數(shù)ArrayFunction構(gòu)造函數(shù)FunctionBoolean構(gòu)造函數(shù)BooleanString構(gòu)造函數(shù)StringNumber構(gòu)造函數(shù)NumberDate構(gòu)造函數(shù)DateRegExp構(gòu)造函數(shù)RegExpError構(gòu)造函數(shù)ErrorEvalError構(gòu)造函數(shù)EvalErrorRangeError構(gòu)造函數(shù)RangeErrorReferenceErr
12、or構(gòu)造函數(shù)ReferenceErrorSyntaxError構(gòu)造函數(shù)SyntaxErrorTypeError構(gòu)造函數(shù)TypeErrorURIError構(gòu)造函數(shù)URIError Math對象屬性4.4 單體內(nèi)置對象第4章 JavaScript對象JavaScript程序設計屬性釋義Math.E自然對數(shù)的底數(shù),即常量e的值Math.LN1010的自然對數(shù)Math.LN22的自然對數(shù)Math.LOG2E以2為底e的對數(shù)Math.LOG10E以10為底e的對數(shù)Math.PI的值Math.SQRT1_21/2的平方根(即2的平方根的倒數(shù))Math.SQRT22的平方根 Math對象方法 (1)min(
13、)和 max()方法; (2)舍入方法:Math.ceil()、Math.floor() 和 Math.round(); (3)random()方法; (4)其他方法;4.4 單體內(nèi)置對象第4章 JavaScript對象JavaScript程序設計屬性釋義Math.abs(num)返回num的絕對值Math.asin(x)返回x的反正弦值Math.exp(num)返回Math.E的num次冪Math.atan(x)返回x的反正切值Math.log(num)返回num的自然對數(shù)Math.atan2(y,x)返回y/x的反正切值Math.pow(num,power)返回num的power次冪Math.cos(x)返回x的余弦值Math.sqrt(num)返回num的平方根Math.sin(x)返回x的正弦值Math.acos(x)返回x的反余弦值Math.tan(x)返回x的正切值 實戰(zhàn) (1)案例描述 用JavaScript產(chǎn)生n個min,max區(qū)間內(nèi)的不重復隨機數(shù)。 (2)實現(xiàn)思路 1)運用Math對象的random()方法生成一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版家畜養(yǎng)殖保險產(chǎn)品定制及銷售合同3篇
- 2025年度智能門禁系統(tǒng)與消防報警系統(tǒng)聯(lián)動合同4篇
- 二零二五版跨境電商運營服務戰(zhàn)略合作協(xié)議3篇
- 2025年度新型門窗及欄桿研發(fā)與生產(chǎn)合作協(xié)議4篇
- 2025年高端個人財富管理代客理財協(xié)議3篇
- 2025年度個人經(jīng)營性貸款擔保保證合同3篇
- 2025版綠色建筑地坪材料供應合同3篇
- 2025年度共享經(jīng)濟門面房租賃與平臺建設合同3篇
- 個人汽車購買資助合同2024年模板版B版
- XX市重點蓄水池施工合作合同版
- 2025水利云播五大員考試題庫(含答案)
- 中藥飲片驗收培訓
- DB34T 1831-2013 油菜收獲與秸稈粉碎機械化聯(lián)合作業(yè)技術(shù)規(guī)范
- 創(chuàng)傷處理理論知識考核試題及答案
- 稅前工資反算表模板
- 2019級水電站動力設備專業(yè)三年制人才培養(yǎng)方案
- 肝素誘導的血小板減少癥培訓課件
- 抖音認證承諾函
- 高等數(shù)學(第二版)
- 四合一體系基礎(chǔ)知識培訓課件
- ICD-9-CM-3手術(shù)與操作國家臨床版亞目表
評論
0/150
提交評論