导读经常看到一些JavaScript的代码髒乱得无法理解到处都是属性和方法或者一个循环套着一个循环但如果使用面向对象就能很好的理清代码并方便理解和修改代码如果你不希望自己的代码只有上帝理解的话就请尽量考虑使用面向对象的模式
译文正文
到处都是属性方法代码极其难懂天哪我的程序员你究竟在做什么?仔细看看这篇指南让我们一起写出优雅的面向对象的JavaScript代码吧!
作为一个开发者能否写出优雅的代码对于你的职业生涯至关重要随着像Nodejs这类技术的发展你甚至可以在服务器端使用JavaScript了同样的你也可以使用JavaScript来控制MongoDB的持续数据存储
文本标记
文本标记只是JavaScript里创建对象的一种方法当然这里肯定不止这一种但它是你在只打算创建一个对象实例时的首选方法
var bill = {}
上面的代码并不实用它只是一个空对象接下来我们动态地向这个对象中添加一些属性和方法
billname = “Bill E Goat”
billsound = function() {
consolelog( bahhh! )
}
这里添加了属性name并且给它分配了值“Bill E Goat”我们并不需要先创建一个空对象而可以把所有代码直接写在一对括号里
var bill = {
name “Bill E Goat”
sound function() {
consolelog( bahhh! )
}
}
是不是很美观?访问它的属性和方法就像呼吸一样简单自然
billname // “Bill E Goat”
billsound() // “bahhh”
如果属性名不是一个合法的标志符我们还可以这样访问它
bill[name] // “Bill E Goat”
注意我在调用方法时在其后添加了圆括号现在我们再重写一下当前的sound方法并添加一个参数
billsound = function(noise) {
consolelog(noise)
}
billsound(“brrr!”) // “brrr!” Hes cold )
很好我们已经传入参数了并且在方法定义中访问了它接下来向对象中增加一个新方法来访问name属性
billsayName = function() {
consolelog( “Hello “ + thisname )
}
billsayName() // “Hello Bill E Goat”
我们可以使用thispropertyName(在本例中即thisname)在方法内访问属性
billsayName // function
怎么回事?访问sayName方法返回了一个方法定义现在让我们再深入些