javascript 划分命名空间(javascript设计模式)
javascript中使用单体结构模式。
定义命名空间
定义的时候可以使用逻辑“或”运算符可以在未找到一个属性的时候为其提供一个默认值;
var GiantCorp = window.GiantCorp? ||{};
GiantCorp.Person=function(){var name="张三";return{getName:function(){return name;},printInfo:function(){alert(name);}}}();
??1.使用匿名函数为Person 返回一个对象这样可以使用GiantCorp.Person.printIfo()调用printInfo函数。
? 2.var name是一个私有属性。
3.说明匿名函数处理,返回的是一个对象。匿名函数内部处理,作用域在函数内容。可以视为私有变量。
完整代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> <script type="text/javascript">var GiantCorp = window.GiantCorp ||{};GiantCorp.Person=function(){var name="张三";return{getName:function(){return name;},printInfo:function(){alert(name);}}}(); </script> </HEAD> <BODY> <script >GiantCorp.Person.printInfo(); </script> </BODY></HTML>
?