标签:创建对象 私有属性 封装 实现继承 alter 实例 value 函数 color
Java的方法仅仅是方法,但是JS的方法是一个对象,可以作为参数!
<script type="text/javascript"> var a=11; //全局变量 function func(){ var b=22; //局部变量 c=33;// 全局变量 //闭包 function func2(){ alter(b); } return func2; } alter(a); //成功 alter(b); //失败 alter(c); //成功 // 利用闭包从外部读取内部的局部变量 var result=func(); result(); //成功打印局部变量b </script>
var marry={ name:"marry", age:2, shout:function(){ alter(this.name+this.age); }, action:function(){ alter("会吃"); } }
function Dog(name,age){ this.name=name; this.age=age; this.shout=function(){ alter(this.name+this.age); }; this.action=function(){ alter("会吃"); }; } var jack=new Dog("jack",1);
//定义 function C(){ this.objPro="对象属性1"; C.proyotype.objPro2="对象属性2" var privatePro="私有属性"; } C.classPro="类属性"; //使用
//对象属性 必须要 new var c=new C(); alter(c.objPro); alter(c.objPro2); //私有属性,要用闭包取出 //类属性,直接调用 alter(C.classPro);
//定义 function(){ var privateFunc=function(){ alert("私有方法"); }; this.objFunc=function(){ alert("对象方法"); }; C.prototype.objFunc2=function(){ alert("对象方法2"); }; } C.classFunc=function(){ alert("类方法"); }; //调用 // 对象方法 必须要 new var c=new C(); c.objFunc(); c.objFunc2(); // 私有方法,内部调用 //类方法 C.classFunc();
function Animal(name,age){ this.name=name; this.age=age; this.shout=function(){ alert(this.name+this.age); }; this.action=function(){ alert("会吃"); }; } function Dog(name,age){ Animal.apply(this, [name,age]); //把Animal的属性copy给Dog ,原型不变,还是条狗 } var jack=new Dog("jack",1);
alert(jack.name); alert(jack.age); jack.shout(); jack.action();
function Dog(name,age){ Animal.apply(this, [name,age]); //把Animal的属性copy给Dog } Dog.prototype=new Animal(); //原型改变,是animal
function Animal(){ this.say=function(){ alert("我是动物"); }; } function Dog(){ this.say=function(){ alert("我是狗"); }; } Dog.prototype=new Animal(); function Cat(){ this.say=function(){ alert("我是猫"); }; } Cat.prototype=new Animal(); function say(animal){ if(animal instanceof Animal){ animal.say(); } } var dog=new Dog(); var cat=new Cat(); say(dog); //我是狗 say(cat); //我是猫
标签:创建对象 私有属性 封装 实现继承 alter 实例 value 函数 color
原文地址:https://www.cnblogs.com/Cocoomg/p/9899836.html