您的位置:首页 > Web前端 > JavaScript

《JavaScript设计模式》学习日志

2016-02-24 00:38 465 查看
反模式的概念:
1.描述一种针对某个特定问题的不良解决方案,该方案会导致糟糕的情况发生;
2.描述如何摆脱前述的糟糕情况以及如何创造好的解决方案。

Javascript的反模式例子如下:
1. 在全局上面文中定义大量污染全局命令空间的变量
2.在调用setTimeout和setInterval时传递字符串(会用eval来执行)而不是函数。
3.修改Object的原型 (这是最糟糕的反模式)
4.使用内联Javascript
5.在本应使用document.createElement的地方使用document.write。

构造器(Constructor)模式

1.对象创建

在JavaScript中,创建新对象的两种常用方法为:

i.

var newObject={};

ii.

var newObject=new Object();  //object构造器的简洁记法

2.有四种方法可以将键值赋值给一个对象

i. "点"语法

newObject.someKey="Hello World"; //设置属性
var key=newObject.someKey; //获取属性

ii. 中括号语法

newObject["someKey"]="Hello World"; //设置属性
var key=newObject["someKey"]; //获取属性

iii. Object.defineProperty

//设置属性
Object.defineProperty(newObject,"someKey",{
value:"for more control of the property's behavior",
writable:true,
enumerable:true,
configurable:true
})
//如果上面的看着麻烦,可以使用下面的简便方式
var defineProp=function(obj,key,value) {
config.value=value;
Object.defineProperty(obj,key,config) ;
};
//使用上述方式,先创建一个空的person对象
var person=Object.create(null);
//然后设置各个属性
defineProp(person,"car","Delorean");
defineProp(person,"dateOfBirth","1981");
defineProp(person,"hasBeard",false);

iv. Object.defineProperties

//设置属性
Object.defineProperties(newObject,(
"someKey":{
value:"Hello World",
writable:true
},
"anotherKey":{
value:"Foo bar",
writable:false
}
))


基本Constructor (构造器)

带原形的Constructor(构造器)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: