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