标签:
Functionde 对象的实例可以创建构造函数
1 var Myfunc = new Function(); //创建一个Function的实例 2 3 var myfun = new Myfunc(); //创建一个Myfunc实例
但是Object对象就不能,当完成一个object对象的实例化后,不能再基于新实例使用new 创建一个实例
1 var Myobj = new Object(); //实例化一个Object对象 2 3 var newobj = new Myobj(); //将出错
添加公有方法
要在构造函数的新实例中添加公有方法,使用点号想它的原型属性添加即可。
1 //创建一个构造函数 2 function Myfunc(){ 3 //..... 4 } 5 //为构造函数添加一个公有方法 newway 6 Myfunc.prototype.newway = function (){ 7 //..... 8 } 9 //该方法可以在Myfunc的实例上调用 10 var myway = new Myfunc(); 11 myway.newway(); //可以运行
但是不能直接在 Myfunc 上运用
如:Myfunc.newway(); //将出错,因为Myfunc是Function的实例
添加私有成员:只需在构造函数中用普通的var和function关键字定义;
1 function Myfunc(){ 2 //定义私有属性 3 var my = ‘luo‘; 4 //定义私有方法 5 function inside(){ 6 //..... 7 } 8 };
但是在构造函数内定义的私有成员,不能被实例调用,
var myfunc1 = new Myfunc();
myfunc1.inside();//将出错
只限制在构造函数的作用域内,所以也不能通过对象自己的公有方法来访问他们;所以需要定义一个特权方法 (在构造函数中使用 this 定义的方法)
1 function special(){ 2 var me = ‘luo‘; 3 function meway(){ 4 //.... 5 }; 6 this.alertway = functioon(){ 7 alert(me); 8 }; 9 }
//正常弹出 luo
(看书 -- JavaScript DOM高级程序设计 做的笔记复制了上来,如果有什么不对请指出。。。)
标签:
原文地址:http://www.cnblogs.com/lg00001/p/5659919.html