中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 網(wǎng)頁制作 > javascript的函數(shù)
[效果]JS折疊菜單 回到列表 ajax的缺點
 javascript的函數(shù)

作者:Sheneyan 時間: 2006-07-26 文檔類型:翻譯 來自:藍色理想

第 1 頁 javascript的函數(shù) [1]
第 2 頁 javascript的函數(shù) [2]
第 3 頁 javascript的函數(shù) [3]
第 4 頁 javascript的函數(shù) [4]
第 5 頁 javascript的函數(shù) [5]
第 6 頁 javascript的函數(shù) [6]
第 7 頁 javascript的函數(shù) [7]
第 8 頁 javascript的函數(shù) [8]

將函數(shù)作為屬性

任何類型的對象都可以作為一個屬性,回憶一下前面的Example 4(不是Example DT4),函數(shù)也是一個對象。所以你可以讓一個函數(shù)作為一個對象的一個屬性。下面,我將添加兩個函數(shù)getSalary和addSalary。

Example DT7

CODE:

function Employee(name, salary)
{
  this.name=name;               
  this.salary=salary;

  this.addSalary=addSalaryFunction;

  this.getSalary=function()
                 {
                   return this.salary;
                 };
}
function addSalaryFunction(addition)
{
  this.salary=this.salary+addition;
}

var boss=new Employee("John", 200000);
boss.addSalary(10000);                    // boss 長了 10K 工資……為什么老板工資可以長這么多:'(
alert(boss.getSalary());                  // 輸出 210K……為什么默認工資也那么高……:'(

addSalary和getSalary演示了幾種將函數(shù)賦給屬性的不同方法。如果你記得我們最開始的討論;我討論了三種聲明函數(shù)的不同方式。所有那些在這里都是適用的,但是上面展示的兩個最常用。

讓我們看看有什么不同。下面,注意一下9-12行的代碼。當這部分代碼執(zhí)行的時候,函數(shù)getSalary被聲明。如前面數(shù)次提到的,一個函數(shù)聲明的結(jié)果是一個對象被創(chuàng)建。所以這時候boss被創(chuàng)建(接下來的第19行),而boss里有一個getSalary屬性。

CODE:

function Employee(name, salary)
{
  this.name=name;               
  this.salary=salary;

  this.addSalary=addSalaryFunction;

  this.getSalary=function()
                 {
                   return this.salary;
                 };
}
function addSalaryFunction(addition)
{
  this.salary=this.salary+addition;
}

var boss=new Employee("John", 200000);
var boss2=new Employee("Joan", 200000);
var boss3=new Employee("Kim", 200000);

當你創(chuàng)建這個對象的更多實例時(boss2和boss3),每一個實例都有一份getSalary代碼的單獨拷貝;而與此相反,addSalary則指向了同一個地方(即addSalaryFunction)。 

看看下面的代碼來理解一下上面所描述的內(nèi)容。

Example DT8

CODE:

function Employee(name, salary)
{
  this.name=name;               
  this.salary=salary;

  this.addSalary=addSalaryFunction;
  this.getSalary=function()
                 {
                   return this.salary;
                 };
}
function addSalaryFunction(addition)
{
  this.salary=this.salary+addition;
}

var boss1=new Employee("John", 200000);
var boss2=new Employee("Joan", 200000);


// 給getSalary函數(shù)對象添加屬性
boss1.getSalary.owner="boss1";
boss2.getSalary.owner="boss2";
alert(boss1.getSalary.owner);   // 輸出 "boss1"
alert(boss2.getSalary.owner);   // 輸出 "boss2"
// 如果兩個對象指向同一個函數(shù)對象,那么
// 上面兩個輸出都應(yīng)該是“boss2”。

// 給addSalary函數(shù)對象添加屬性
boss1.addSalary.owner="boss1";
boss1.addSalary.owner="boss2";
alert(boss1.addSalary.owner);   // 輸出 "boss2"
alert(boss2.addSalary.owner);   // 輸出 "boss2"
// 因為兩個對象都指向同一個函數(shù),(子烏注:原文寫are not pointing to the same function,疑為筆誤)
// 當修改其中一個的時候,會影響所有的實例(所以兩個都輸出“boss2”).

也許不是重要的事情,但這里有一些關(guān)于運行類似上面的getSalary的內(nèi)嵌函數(shù)的結(jié)論: 1) 需要更多的存儲空間來存儲對象(因為每一個對象實例都會有它自己的getSalary代碼拷貝);2) javascript需要更多時間來構(gòu)造這個對象。

讓我們重新寫這個示例來讓它更有效率些。

Example DT9

CODE:

function Employee(name, salary)
{
  this.name=name;               
  this.salary=salary;

  this.addSalary=addSalaryFunction;
  this.getSalary=getSalaryFunction;
}
function getSalaryFunction()
{
  return this.salary;
}

function addSalaryFunction(addition)
{
  this.salary=this.salary+addition;
}

看這兒,兩個函數(shù)都指向同一個地方,這將會節(jié)約空間和縮短構(gòu)造時間(特別是當你有一大堆內(nèi)嵌函數(shù)在一個構(gòu)造函數(shù)的時候)。這里有另外一個函數(shù)的功能能夠來提升這個設(shè)計,它叫做prototype,而我們將在下一節(jié)討論它。

出處:藍色理想
責任編輯:moby

上一頁 javascript的函數(shù) [6] 下一頁 javascript的函數(shù) [8]

◎進入論壇網(wǎng)頁制作、網(wǎng)站綜合版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
[效果]JS折疊菜單
CSS+JS構(gòu)建的圖片查看器
一實用的Javascript類庫
怎么用javascript進行拖拽
無限級JavaScript下拉列表菜單
作者文章 更多作者文章
ajax的缺點
用Google Sitemaps幫助你SEO
滑動門菜單技術(shù)
jscript/javascript條件編譯
如何使用ajax開發(fā)web應(yīng)用程序
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標準 用戶體驗 UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點最新 站點最新列表
周大福“敬•自然”設(shè)計大賽開啟
國際體驗設(shè)計大會7月將在京舉行
中國國防科技信息中心標志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機會
阿里行云
云手機年終巨獻,送禮標配299起
阿里巴巴CTO王堅的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:7/81個記錄/頁 轉(zhuǎn)到 頁 共8個記錄

藍色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準打上各自站點的水印,亦不能抹去我站點水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項有關(guān)法律法規(guī)
·承擔一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2