TDD测试驱动的javascript开发(2) ------ 深入学习javascript中prototype
1. 原型模式
1.1 我们创建的每个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。
简单的解释上面的话的意思就是:首先,我们要知道,面向对象的语言中类的存在,而javascript也是一门面向对象的语言(这句话说的可能有一些毛病,但是不影响),在javascript中定义一个类函数的时候,就默认创建了一个prototype属性,在这个prototype属性里的所有的属性和方法将被这个类的所有实例共享。看代码:
function Person(name,age) {var o = new Object();o.sayName = function() {return name;};return o;};var person = Person("tongtong","25");TestCase("test property", {"test person sayName should be tongtong " : function() {assertEquals(person.sayName(),"tongtong"); },"test person is not instanceof Person " : function() {assertNotInstanceOf(Person,person); }});关于安全模式的2个平台
http://www.adsafe.org/
http://code.google.com/p/google-caja/