穩妥建構式模式
? 道格拉斯·克羅克福德(Douglas Crockford)發明了 JavaScript 中的穩妥物件(durable object)這個概念,所謂穩妥物件,指的是沒有公共屬性,而且其他方法也不參考 this 的物件,穩妥物件最適合在一些安全的環境中(這些環境中會禁止使用 this 和 new ),或者在防止資料被其他應用程式(如 Mashup 程式)改動時使用,穩妥建構式遵循與寄生建構式類似的模式,但有兩點不同:
-
新創建物件實體方法不參考 this
-
不適用 new 運算子呼叫建構式,按照穩妥建構式的要求,可以將前面的 Person 建構式重寫如下:
function Person(name, age, sex) { // 創建要回傳的物件 var obj = new Object() // 可以在這里定義私有變數和函式 // 添加方法 obj.sleep = function() { alert(name + '睡覺了') } // 回傳物件 return obj } var person = new Person('小明', 22, '男') person.sleep() // 小明睡覺了? 在以這種模式創建的物件中,除了使用 sleep() 方法之外,沒有其他辦法能訪問到 name 的值,穩妥建構式模式提供的這種安全性,使得它非常合適在某些安全執行環境下使用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/253897.html
標籤:JavaScript
上一篇:寄生建構式模式
