javascript设计模式之【单体模式】
单体模式(singleton)
单体是在脚本加载时创建的,能将一系列有关联的变量和方法组织为一个逻辑单元,逻辑单元里面的内容通过单一的变量进行访问;
一个单体主要分为三部分
用于访问内部信息的入口变量(如:Sky)
属性(如:nickName/age/timeInfo)
方法(如:sayHello)
基本结构
01
var Sky = {
02
03
/*
04
* 作用一,变量管理
05
*/
06
07
nickName: "sky",
08
age: "26",
09
10
/*
11
* 作用二,加载中初始化变量
12
* 在加载过程中执行并初始化Sky.info
13
*/
14
15
timeInfo: function()
16
{
17
var _year = new Date().getFullYear();
18
return _year;
19
}(),
20
21
/*
22
* 作用三,函数管理,让你的函数看起来不再那么散乱
23
*/
24
25
sayHello: function()
26
{
27
alert("hello,world!");
28
}
29
30
}
31
32
//所有内部信息通过Sky这个变量进行访问;
33
34
alert(Sky.timeInfo);
相关文档:
1. Boolean值、数字、字符串的原始值是伪对象,这意味着他们具有属性和方法。
var test = "hello";
alert(test.length); //outputs "5"
2. javascript 所定义的所有对象都有 toString() 方法,不管是伪对象还是真的对象,Boolean 的 toString() 方法只返回 “true” 或者“false”。
var t ......
// 学习要想拷贝那么快就好了
//
// JavaScript 的继承是基于 prototype 的,每个对象的 prototype 是保存在对象的 __proto__ 属性中的,这个属性是内部(internal)的属性( 惯例是内部的或者隐藏的属性以 _ 开头)
// A prototype-based language has the notion of a prototypical object, an object used as a template ......
Javascript中function即为类,在function内部用this设置类的public成员变量与方法,例如:
function myclass(name){
var str = "private string"; //private field
function privatefn(){ //private method alert(str);
};
this.name = name;
......