當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
【JS笔记】私有变量
生活随笔
收集整理的這篇文章主要介紹了
【JS笔记】私有变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.任何函數中定義的變量都可以認為是私有變量。函數內部可以訪問,外部不能訪問。
可以通過閉包創建特權方法訪問私有變量。
function Foo(){var n=10;this.returnN=function(){return n;}; }; var newfoo=new Foo(); console.log(newfoo.returnN())//102.靜態私有變量的創建是在私有域中定義私有變量和私有函數,再定義構造函數極其共有方法。構造函數不使用函數聲明,實際上是創建了一個全局變量。公有方法在原型上定義。
(function(){var name = "";Person = function(value){ name = value; };Person.prototype.getName = function(){return name;};Person.prototype.setName = function (value){name = value;}; })();var person1 = new Person("Nicholas"); alert(person1.getName()); //"Nicholas" person1.setName("Greg"); alert(person1.getName()); //"Greg"var person2 = new Person("Michael"); alert(person1.getName()); //"Michael" alert(person2.getName()); //"Michael"這種方法下,name成了一個所有實例公有的靜態屬性,更改它會影響到所有的實例。
3.模塊模式是為單例創建私有變量和特權方法的。(單例指只有一個實例的對象,是以對象字面量的方式創建的。)
var single=function (argument) {var privateVar=10;function privateFun () {//私有方法函數 }return {publicProerty:true,//返回的共有方法可訪問私有變量publicMethod:function () {privateVar++;return privateFun()}} }?
模塊模式使用一個返回對象的匿名函數,在這個匿名函數的內部,首先定義私有變量和函數,然后將一個對象字面量作為函數的值返回。返回的對象字面量中只包含公開屬性和方法。由于這個對象是在匿名函數內部定義的,因此它的共有方法有權訪問私有變量和函數。也就是說,這個對象字面量定義的是單例的公共接口。這種模式在需要對單例進行某些初始化,同時又需要維護其私有變量時有用。
轉載于:https://www.cnblogs.com/rizzle/p/4534662.html
總結
以上是生活随笔為你收集整理的【JS笔记】私有变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git学习——四git版本管理
- 下一篇: javascript+dom