閉包。
看以下**:
function
person
(firstname,lastname,age)
這裡定義乙個人的方法,具有姓、名、年齡三種屬性。
隨後:
var_firstname=firstname;
var _lastname=lastname;
this.age=age;
this.getname=function
();
內部定義了乙個獲取姓名的方法getname();
然後定義乙個sayhello的方法;
this.sayhello=function
();
這個person暫時只有這幾個。
下面新建兩個物件,billgates和stevejobs
var billgates=new person("bill","gates",52);
var stevejobs=new person("steve","jobs",48);
此時,如果寫下如下**:
billgates.sayhello();
stevejobs.sayhello();
會出現以下結果:
hello,i'm bill gates
hello,i'm steve jobs
當然,每個物件也是可以呼叫自己的屬性的。
console.log(billgates.getname()+" is "+billgates.age +" years old");
console.log(stevejobs.getname()+" is "+stevejobs.age +" years old");
這裡將輸出以下:
bill gates is
52 years old
steve jobs is
48 years old
這裡,在乙個函式內一次定義了私有成員(姓名),公共屬性,以及可用的方法。特別是閉包機制可以模擬對私有成員的保護機制。
解釋一下閉包,就是在夠高函式體內 定義另外的函式 作為目標物件的方法函式, 這個方法函式反過來引用外層函式體中的臨時變數。
這使得目標物件在生存期內始終能保持方法,也能間接保持原建構函式體當時用到的臨時變數。
悟透LoadRunner 什麼是效能測試?
專案經理甲 我們的系統功能非常強大,能夠滿足您所有的業務需求。客戶乙 使用後 果然不錯!合作愉快!乙個星期後 客戶乙 我要退款,你們的系統反應太慢了!我們的員工簡直無法忍受!專案經理甲 上星期不是試過了嗎?怎麼會慢呢?客戶乙 1個人用是沒問題,但是我們公司有1000個員工使用這個系統,乙個查詢的操作...
種植福田 培植福報 福慧雙修 悟透自己!
種植福田 福慧雙修 悟透自己!悟透自己!人生在世,和 自己 相處最多,打交道最多,但是往往悟不透 自己 走上坡路時,往往把自己估計過高,認為一切都能唾手可得,甚至把運氣和機遇,也看作自己身價的一部分而喜不自勝。走下坡路時,又往往妄自菲薄,把自己估計過低,把困難和不利看作是自己的無能,而實際上是被怯懦...
Unity3D如何製作透貼和使用透貼模型
問題 同事通過3dmax製作了乙個非常漂亮的女人,頭髮這塊用到了透貼,不知道這個詞有沒有人看懂這樣,總之就是類似樹葉的效果,但是在3dmax裡面的透貼是用兩張,一張彩色一張黑白的就像這樣 但是在unity裡面貌似無法使用這樣的模式解讀透貼,也或許是我不知道吧,那麼怎麼辦?看了一下官方的樹的模型,終於...