詳解JavaScript函數(shù)對象
函數(shù)
函數(shù)是由事件驅(qū)動的或者當(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è)變量會變?yōu)樾碌娜肿兞?/p>
函數(shù)可以作為值
形式1:
function init(){
alert("One")
}
window.onload = init;
形式:
window.onload = function(){
alert("One");
}
注:以上兩種方式,都能讓瀏覽器提示:One。
對象
JavaScript 中的所有事物都是對象:字符串、數(shù)值、數(shù)組、函數(shù),此外,JavaScript 允許自定義對象。
對象的引用
將一個(gè)對象賦至變量時(shí),這個(gè)變量會包含這個(gè)對象的一個(gè)引用,而不是對象本身。
調(diào)用一個(gè)函數(shù)傳入對象時(shí),實(shí)際上是只傳遞了對象引用(拷貝一份引用副本,傳給形參,指向?qū)ο?,即兩個(gè)引用指向了同一對象)
創(chuàng)建對象
var dog = {
name : "myDog",
weight : ,
bark :function(){
alert("woof!");
}
}
dog.bark();
注:每一個(gè)屬性(除了最后一個(gè))后都要有“,”。
構(gòu)造函數(shù)構(gòu)造對象
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!");
}
};//這里也不能忘了分號
}
var myDog = new Dog("hello","");
myDog.bark();
PS:
1.什么是構(gòu)造函數(shù)
構(gòu)造函數(shù) ,是一種特殊的方法。主要用來在創(chuàng)建對象時(shí)初始化對象, 即為對象成員變量賦初始值,總與new運(yùn)算符一起使用在創(chuàng)建對象的語句中。
這是我查閱相關(guān)資料的解釋,解釋的很書本化但意思表達(dá)的還是很清楚的。下面請看小例子:
代碼如下:
var request = new XMLHttpRequest();
這句表達(dá)式是我們在使用AJAX技術(shù)時(shí)創(chuàng)建request對象時(shí)經(jīng)常用到的。那么我們可以清楚的看到 “new XMLHttpRequest();” 這句話就是一個(gè)標(biāo)準(zhǔn)的構(gòu)造函數(shù)!我們 “var” 聲明了一個(gè) “request” 對象,用構(gòu)造函數(shù) “new XMLHttpRequest();” 來初始化這個(gè) “request” 對象為它賦初始值。所以我們可以知道:“與 ‘new' 運(yùn)算符一起使用用來創(chuàng)建對象并初始化對象的‘函數(shù)'就是構(gòu)造函數(shù)”。
比如我們常見的聲明數(shù)組就是標(biāo)準(zhǔn)的構(gòu)造函數(shù):var array = new Array();
2.什么是實(shí)例化對象
代碼如下:
var request = new XMLHttpRequest();
在面向?qū)ο蟮木幊讨校ǔ0延妙悇?chuàng)建對象的過程稱為實(shí)例化。
上面我用紅色和藍(lán)色將解釋的重點(diǎn)標(biāo)了出來。說白了,實(shí)例化對象就是創(chuàng)建對象的過程!
那么什么是“類”呢?根據(jù)字面理解我們可以理解為“類型”。比如“蛋糕”,它是一個(gè)甜品的分類,也就是一個(gè)類型;那么起司蛋糕則是甜品中蛋糕這個(gè)分類的具體的個(gè)體,也就是對象。
我們知道在程序語言中,“類”是抽象的,我們沒有辦法來操作它或使用它的方法和屬性,只有把這個(gè)類實(shí)例化成為一個(gè)對象,我們才可以去調(diào)用它的一系列方法和屬性。其實(shí)這個(gè)也很好理解,在生活中抽象的東西我們沒有辦法看到它或者捕捉到它,那么自然我們也沒有辦法去使用它的一些功能,只有將抽象的東西具體到一個(gè)個(gè),個(gè)體或?qū)嶋H的對象,我們才能清楚的理解或者認(rèn)識它;編程亦是如此。因此,實(shí)例化對象就是由抽象到具體的過程,這個(gè)過程就叫實(shí)例化。
- javascript 靜態(tài)對象和構(gòu)造函數(shù)的使用和公私問題
- JavaScript 構(gòu)造函數(shù) 面相對象學(xué)習(xí)必備知識
- 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ù)方法對象冒充的使用詳解
- 深入理解javascript構(gòu)造函數(shù)和原型對象
- javascript 構(gòu)造函數(shù)方式定義對象
- 淺談javascript構(gòu)造函數(shù)與實(shí)例化對象
- javascript設(shè)計(jì)模式之對象工廠函數(shù)與構(gòu)造函數(shù)詳解
相關(guān)文章
JS采用絕對定位實(shí)現(xiàn)回到頂部效果完整實(shí)例
這篇文章主要介紹了JS采用絕對定位實(shí)現(xiàn)回到頂部效果,以完整實(shí)例形式分析了JS定位到頁面頂部功能的實(shí)現(xiàn)方法,涉及javascript動態(tài)操作頁面元素與屬性的相關(guān)技巧,需要的朋友可以參考下2016-06-06
使用uniapp實(shí)現(xiàn)發(fā)布朋友圈功能
這篇文章主要介紹了使用uniapp實(shí)現(xiàn)發(fā)布朋友圈功能,在文章底部給大家介紹了uniapp?微信小程序分享、分享朋友圈功能,通過頁內(nèi)自定義分享按鈕,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
JavaScript使用Promise實(shí)現(xiàn)并發(fā)請求數(shù)限制
本文主要介紹了JavaScript使用Promise實(shí)現(xiàn)并發(fā)請求數(shù)限制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
JavaScript實(shí)現(xiàn)表格點(diǎn)擊排序的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)表格點(diǎn)擊排序的方法,可實(shí)現(xiàn)點(diǎn)擊頂部數(shù)據(jù)項(xiàng)標(biāo)題實(shí)現(xiàn)對應(yīng)數(shù)據(jù)列的排序效果,涉及javascript鼠標(biāo)事件及數(shù)據(jù)排序的技巧,需要的朋友可以參考下2015-05-05
微信公眾號JS-SDK獲取當(dāng)前經(jīng)緯度以及地址信息的方法
最近微信JS-SDK開發(fā)過程中,遇到了獲取坐標(biāo)位置的需求,所以下面這篇文章主要給大家介紹了關(guān)于微信公眾號JS-SDK獲取當(dāng)前經(jīng)緯度以及地址信息的相關(guān)資料,需要的朋友可以參考下2022-06-06

