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自定义类的主要内容,如果未能解决你的问题,请参考以下文章

Three.js 中的自定义纹理着色器

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

VS Code中自定义Emmet代码片段

C# 最有用的(自定义)代码片段是啥? [关闭]

09 js自定义类