【转载】[探讨]JavaScript面向对象编程
JavaScript是一个类C的语言,他的面向对象的东西相对于C++/Java比较奇怪,但是其的确相当的强大,本文主要从一个整体的角度来说明一下JavaScript的面向对象的编程。这篇文章主要基于ECMAScript 5,旨在介绍新技术。关于兼容性的东西,请看最后一节。
?
初探
我们知道JavaScript中的变量定义基本如下:
?
?
?
?
相信这些东西都比较简单,大家都明白了。可以看到JavaScript对象函数是直接声明,直接赋值,直接就用了。runtime的动态语言。
还有一种比较规范的写法是:
?
顺便说一下,要删除对象的属性,很简单:
?
var age = 0; Object.defineProperty( chenhao, 'age', { get: function() {return age+1;}, set: function(value) {age = value;} enumerable : true, configurable : true } ); chenhao.age = 100; //调用set alert(chenhao.age); //调用get 输出101(get中+1了);?
?
我们再看一个更为实用的例子——利用已有的属性(age)通过get 和 set 构造新的属性(birth_year):
?
http://sd.csdn.net/a/20120110/310412.html