09 js自定义类
Posted Scorpicat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09 js自定义类相关的知识,希望对你有一定的参考价值。
js自定义类的理解
js自定义类,形式与功能上看起来就像java的类整体与类的构造方法的二合一。
在实例与类的关系上,又有点像java中子类与父类的关系,因为js的实例可以给自己添加自己的方法和属性。
js自定义类的声明
声明方式也用关键字function,类名第一个字母大写,可以有参数(形如构造方法)。
function Person(name,age){ this.name = name; this.age = age; this.fav = "唱歌"; //自定义类方法 this.test = new Function("alert(‘这是Person的函数test‘)"); }
类的实例(对象)
如下:
var p1 = new Person("小明",19); var p2 = new Person("小红",20); document.write(p1.name+"<br/>"); document.write(p1.age+"<br/>"); document.write(p1.fav+"<br/>"); document.write(p1.test()+"<br/>"); document.write(p2.name+"<br/>"); document.write(p2.age+"<br/>"); document.write(p2.fav+"<br/>"); document.write(p2.test()+"<br/>");
运行结果:
- 小明
- 19
- 唱歌
- undefined
- 小红
- 20
- 唱歌
- undefined
创建的对象可以自行添加自己的方法和属性,其它对象无法方法这些属性和方法。
//添加实例的自定义方法和属性 p1.run = function(){ document.write("我在跑<br/>"); } p1.run(); // p2.run();无法执行,因为run函数时p1自定义的
有关prototype
真的没搞懂,以后搞吧
以上是关于09 js自定义类的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段12——JavaScript的Promise对象