js 閉包 原型

2022-03-27 23:33:08 字數 1325 閱讀 4818

引用:

在乙個專案中大量使用js,工程專案與**開發有一些不一樣,在我接觸的工程專案中普遍使用js 不夠多,大部分客戶端可做事,交給了服務端,而且在使用js時不夠規範,很容易造成**難以閱讀、記憶體洩漏問題,不注意js 輸寫方式。而在**開發中(尤其一些大**,js輸出的非常漂亮、完美無論使用jquery,還是prototype 框架,還是不用框架,都有自己良好一套東東可用) 

js輸寫最好還是可以物件導向方式 用類方向進行包裝 js輸寫兩種方式 閉包 原型 

閉包:(借用的乙個例子) 

複製**

**如下:

function person(firstname, lastname, age) 

; this.sayhello = function() 

; }; 

var billgates = new person("bill", "gates", 53); 

原型:(借用的乙個例子) 

複製**

**如下:

//定義建構函式 

function person(name) 

; //方法定義到建構函式的prototype上 

person.prototype.sayhello = function() 

; //子類建構函式 

function employee(name, salary) 

; //子類建構函式首先需要用上層建構函式來建立prototype物件,實現繼承的概念 

employee.prototype = new person() //只需要其prototype的方法,此物件的成員沒有任何意義! 

//子類方法也定義到建構函式之上 

employee.prototype.showmethemoney = function() 

; var billgates = new person("bill gates"); 

billgates.sayhello(); 

var stevejobs = new employee("steve jobs", 1234); 

stevejobs.sayhello(); 

這兩種方法各有優缺點,第一種看起來更像乙個類 每個物件設定乙份方法有很大浪費,而且資源**不利,第二種方法,看起來不是很漂亮,可效能很好(不過如果你使用prototype框架,就可以完美解決結構與效能問題了。) 

實際在使用jquery 還是prototype問題上,我的一點點體會是 jquery使用閉包方式,而prototype當然原型,jquery更加適合對單個物件操作,而prototype更適合做一些客戶端控制項。實際我更喜歡在專案中使用jquery 而**上更關注prototype

閉包 原型 原型鏈

1.閉包 函式內部的函式 2.優點 1.隔離作用域,防止汙染全域性 2.有自己的獨立變數 3.快取 3.缺點 1.不容易垃圾 2.消耗記憶體 4.原型 1.函式有乙個prototype物件,可以通過函式的原型物件來實現繼承 2.原型prototype物件上有乙個constructor屬性。是建構函式...

js12 閉包,原型,繼承

var cat function return function this.setage function age alert new cat add 1,2 3,new的時候函式會執行一次 alert newcat age 12 new cat setage 100 alert new cat a...

js12 閉包,原型,繼承

var cat function return function this.setage function age alert new cat add 1,2 3,new的時候函式會執行一次 alert newcat age 12 new cat setage 100 alert new cat a...