詳解JavaScript函數(shù)對(duì)象
函數(shù)
函數(shù)是由事件驅(qū)動(dòng)的或者當(dāng)它被調(diào)用時(shí)執(zhí)行的可重復(fù)使用的代碼塊。
function One(leve , leve){ //code return leve+leve }
注釋:
形參不需要加上類型;
return語句為可選,沒有return語句的函數(shù)返回undefined;
局部變量與全局變量
在函數(shù)內(nèi)聲明:局部變量
在函數(shù)外聲明:全局變量
向一個(gè)新變量名賦值時(shí)并沒有使用var:這個(gè)變量會(huì)變?yōu)樾碌娜肿兞?/p>
函數(shù)可以作為值
形式1:
function init(){ alert("One") } window.onload = init;
形式:
window.onload = function(){ alert("One"); }
注:以上兩種方式,都能讓瀏覽器提示:One。
對(duì)象
JavaScript 中的所有事物都是對(duì)象:字符串、數(shù)值、數(shù)組、函數(shù),此外,JavaScript 允許自定義對(duì)象。
對(duì)象的引用
將一個(gè)對(duì)象賦至變量時(shí),這個(gè)變量會(huì)包含這個(gè)對(duì)象的一個(gè)引用,而不是對(duì)象本身。
調(diào)用一個(gè)函數(shù)傳入對(duì)象時(shí),實(shí)際上是只傳遞了對(duì)象引用(拷貝一份引用副本,傳給形參,指向?qū)ο?,即兩個(gè)引用指向了同一對(duì)象)
創(chuàng)建對(duì)象
var dog = { name : "myDog", weight : , bark :function(){ alert("woof!"); } } dog.bark();
注:每一個(gè)屬性(除了最后一個(gè))后都要有“,”。
構(gòu)造函數(shù)構(gòu)造對(duì)象
function Dog(name,weight){ this.name = name; this.weight = weight; this.bark = function(){ if(this.weight > ){ alert(this.name + "Woof!"); }else{ alert(this.name + "Yip!"); } };//這里也不能忘了分號(hào) } var myDog = new Dog("hello",""); myDog.bark();
PS:
1.什么是構(gòu)造函數(shù)
構(gòu)造函數(shù) ,是一種特殊的方法。主要用來在創(chuàng)建對(duì)象時(shí)初始化對(duì)象, 即為對(duì)象成員變量賦初始值,總與new運(yùn)算符一起使用在創(chuàng)建對(duì)象的語句中。
這是我查閱相關(guān)資料的解釋,解釋的很書本化但意思表達(dá)的還是很清楚的。下面請(qǐng)看小例子:
代碼如下:
var request = new XMLHttpRequest();
這句表達(dá)式是我們在使用AJAX技術(shù)時(shí)創(chuàng)建request對(duì)象時(shí)經(jīng)常用到的。那么我們可以清楚的看到 “new XMLHttpRequest();” 這句話就是一個(gè)標(biāo)準(zhǔn)的構(gòu)造函數(shù)!我們 “var” 聲明了一個(gè) “request” 對(duì)象,用構(gòu)造函數(shù) “new XMLHttpRequest();” 來初始化這個(gè) “request” 對(duì)象為它賦初始值。所以我們可以知道:“與 ‘new' 運(yùn)算符一起使用用來創(chuàng)建對(duì)象并初始化對(duì)象的‘函數(shù)'就是構(gòu)造函數(shù)”。
比如我們常見的聲明數(shù)組就是標(biāo)準(zhǔn)的構(gòu)造函數(shù):var array = new Array();
2.什么是實(shí)例化對(duì)象
代碼如下:
var request = new XMLHttpRequest();
在面向?qū)ο蟮木幊讨?,通常把用類?chuàng)建對(duì)象的過程稱為實(shí)例化。
上面我用紅色和藍(lán)色將解釋的重點(diǎn)標(biāo)了出來。說白了,實(shí)例化對(duì)象就是創(chuàng)建對(duì)象的過程!
那么什么是“類”呢?根據(jù)字面理解我們可以理解為“類型”。比如“蛋糕”,它是一個(gè)甜品的分類,也就是一個(gè)類型;那么起司蛋糕則是甜品中蛋糕這個(gè)分類的具體的個(gè)體,也就是對(duì)象。
我們知道在程序語言中,“類”是抽象的,我們沒有辦法來操作它或使用它的方法和屬性,只有把這個(gè)類實(shí)例化成為一個(gè)對(duì)象,我們才可以去調(diào)用它的一系列方法和屬性。其實(shí)這個(gè)也很好理解,在生活中抽象的東西我們沒有辦法看到它或者捕捉到它,那么自然我們也沒有辦法去使用它的一些功能,只有將抽象的東西具體到一個(gè)個(gè),個(gè)體或?qū)嶋H的對(duì)象,我們才能清楚的理解或者認(rèn)識(shí)它;編程亦是如此。因此,實(shí)例化對(duì)象就是由抽象到具體的過程,這個(gè)過程就叫實(shí)例化。
- javascript 靜態(tài)對(duì)象和構(gòu)造函數(shù)的使用和公私問題
- JavaScript 構(gòu)造函數(shù) 面相對(duì)象學(xué)習(xí)必備知識(shí)
- Javascript面向?qū)ο缶幊蹋ǘ?構(gòu)造函數(shù)的繼承
- Javascript面向?qū)ο缶幊蹋ㄈ?非構(gòu)造函數(shù)的繼承
- JavaScript面向?qū)ο笤O(shè)計(jì)二 構(gòu)造函數(shù)模式
- 不用構(gòu)造函數(shù)(Constructor)new關(guān)鍵字也能實(shí)現(xiàn)JavaScript的面向?qū)ο?/a>
- 基于JavaScript實(shí)現(xiàn)繼承機(jī)制之構(gòu)造函數(shù)方法對(duì)象冒充的使用詳解
- 深入理解javascript構(gòu)造函數(shù)和原型對(duì)象
- javascript 構(gòu)造函數(shù)方式定義對(duì)象
- 淺談javascript構(gòu)造函數(shù)與實(shí)例化對(duì)象
- javascript設(shè)計(jì)模式之對(duì)象工廠函數(shù)與構(gòu)造函數(shù)詳解
相關(guān)文章
小議Function.apply()之二------利用Apply的參數(shù)數(shù)組化來提高 JavaScript程序性能
小議Function.apply()之二------利用Apply的參數(shù)數(shù)組化來提高 JavaScript程序性能...2006-11-11基于Ionic3實(shí)現(xiàn)選項(xiàng)卡切換并重新加載echarts
這篇文章主要介紹了基于Ionic3實(shí)現(xiàn)選項(xiàng)卡切換并重新加載echarts,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09JS實(shí)現(xiàn)canvas仿ps橡皮擦刮卡效果詳解
這篇文章主要為大家詳細(xì)介紹了使用js中的Canvas實(shí)現(xiàn)橡皮擦效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11webpack如何自動(dòng)生成網(wǎng)站圖標(biāo)詳解
這篇文章主要給大家介紹了關(guān)于webpack如何自動(dòng)生成網(wǎng)站圖標(biāo)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01js獲取當(dāng)前日期昨天、今天、明天日期的不同方法總結(jié)
JS中處理日期時(shí)間常用Date對(duì)象,下面這篇文章主要給大家介紹了關(guān)于利用js獲取當(dāng)前日期昨天、今天、明天日期的不同方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11原生態(tài)js,鼠標(biāo)按下后,經(jīng)過了那些單元格的簡單實(shí)例
下面小編就為大家?guī)硪黄鷳B(tài)js,鼠標(biāo)按下后,經(jīng)過了那些單元格的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08js 執(zhí)行上下文和作用域的相關(guān)總結(jié)
這篇文章主要介紹了js 執(zhí)行上下文和作用域的相關(guān)知識(shí)總結(jié),幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2021-02-02