javascript封装,继承,方法重写

xiaoxiao2021-02-28  100

现在做了很多前端的工作,越看js对js觉得越陌生,感觉实在很深不见底的感觉

简单说一些关于js的知识吧。

参考资料《javascript完全自学手册》《javascript高级编程》

javascript中的类不同于java里面的类,js的类是通过函数实现的

类的构造: var data = "datatest"; //构造对象 var cat = function(){ this.age=3; this.name="mimi"; this.data = data; this.run = function(){ console.log(data); return ajaxfun(data); } } //添加属性和方法 cat.prototype.sex ="male"; cat.prototype.say = function(){ console.log("添加行为"); console.log(this.data); } //公共方法 function ajaxfun(data){ var data1 = data+1; return data1; }

js的类的原型prototype可以动态的为js的类添加行为和属性,类是一个函数所以闭包的属性,里面的私有方法和参数不能对外公开。

js类的继承:

代码:

var data = "datatest"; //构造对象 var cat = function(){ this.age=3; this.name="mimi"; this.data = data; this.run = function(){ console.log(data); return ajaxfun(data); } } //添加属性和方法 cat.prototype.sex ="male"; cat.prototype.say = function(){ console.log("添加行为"); console.log(this.data); } //公共方法 function ajaxfun(data){ var data1 = data+1; return data1; } var animal = function(){ this.sleep = function(){ console.log("animal sleep"); } } cat.prototype = new animal(); obj = new cat(); console.log(obj.sleep());

创建一个animal对象,里面有一个方法,js和java不同,只能通过原型实现模拟的继承。

方法的重载看下一篇

转载请注明原文地址: https://www.6miu.com/read-20642.html

最新回复(0)