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

真的没搞懂,以后搞吧

原文地址:https://www.cnblogs.com/Scorpicat/p/12207360.html

时间: 2024-11-05 18:43:47

09 js自定义类的相关文章

js自定义类的小结

目前在Javascript中,已经存在一些标准的类,例如Date.Array.RegExp.String.Math.Number等等,这为我们编程提供了许多方便.但对于复杂的客户端程序而言,这些还远远不够. 与Java不同,Java2提供给我们的标准类很多,基本上满足了我们的编程需求,但是Javascript提供的标准类很少,许多编程需求需要我们自己去实现,例如Javascript没有哈西表Hashtable,这样的话在处理键值方面就很不方便. 因此,我个人认为一个完整的Javascript对象

js自定义类与对象

js中创建自定义类与创建对象:js创建类与AS3,java都有很大的不同,,,下面来看看他的庐山真面目..由于js也是一个面向对象的编程语言所以也存在像其他语言那样的创建自定义的类,和通过类来创建对象.js的类是有一下三部门组成1.构造函数2.属性3.方法自定义一个类: function MyClass(id,age,name) { this.id = id; this.age = age; this.name = name; } 从这个类的定义形式可以看出,js定义类的形式和其他语言有很大的不

js自定义类,混合的构造函数/原型方式

“混合的构造函数/原型方式” 用构造函数来定义非函数属性,用原型方式定义对象的函数属性,结果所有函数都只创建一次,而每个对象都具有自由的对象属性实例. function ocar(color){  this.color = color;  this.arr = new Array("s"); } ocar.prototype.showColor = function(){  alert(this.color); } var car = new ocar("resd"

cocos2dx-3.x 导出自定义类到 lua 过程

一.简介 最近正在学习cocos2d中的lua游戏开发,因为lua开发的热更新特性,大家开发游戏好像都会优先选择lua作为开发语言. 但是遇到一个问题,用lua写一些简单的程序没什么问题,但是一旦需要一个复杂的类,在lua中直接写就感觉有些吃力.所以想到,可以把游戏开发中比较复杂的模块使用c++完成,然后导出到lua,让lua可以轻松调用. 我从头到尾完整地完成了cocos2dx-3.x中自定义类的导出过程,在网上查了好多资料,也碰到了很多错误,然而网上关于这块的文章比较零散,如果有初学者使用的

夺命雷公狗---javascript NO:21 自定义类1

1.快速入门 例1:通过原生js与面向对象js定义一个人的信息 <!DOCTYPE html> <html> <head> <meta charset=’utf-8′> <title></title> </head> <body> <script> //通过js代码定义一个人的信息 var name = ‘lisi'; var age = ’30′; var marry = false; alert

EXTJS--使用Ext.define自定义类

Javascript自定义类 var person = function(name,age){ this.Name = ""; this.Age = 26: this.Say = function(msg){ alert(this.Name + " Says : " + msg); } this.init = function(name,age){ this.Name = name; this.Age = age; } this.init(name, age); }

自定义类StyleSheet跨浏览器操作样式表中的规则

这是群里网友地瓜提供的一个类,不熟悉样式的浏览器差异的可以看看 /** * Stylesheet.js: utility methods for scripting CSS stylesheets. * * This module defines a Stylesheet class that is a simple wrapper * around an element of the document.styleSheets[] array. It defines useful * cross

Javascript自定义类

JavaScript并不是严格的面向对象的语言,但是带有面向对象的一些特性,我们可以通过这些特性创建js中的自定义类. JavaScript中的类其实是function关键字包裹的一系列变量和方法. 比如定义一个Car类: function Car(name,number){ this.CarName=name; this.CarNumber=number; this.Run=function(speed){ alert("汽车以"+speed+"时速行驶.");

C#实现的JS操作类实例

本文实例讲述了C#实现的JS操作类.分享给大家供大家参考.具体如下: 这个C#类封装了常用的JS客户端代码操作,包括弹出对话框.返回上一页,通过JS转向,弹出警告框并转向等. using System.Web; namespace DotNet.Utilities { /// <summary> /// 客户端脚本输出 /// </summary> public class JsHelper { /// <summary> /// 弹出信息,并跳转指定页面. /// &