js 类创建的 三种方式

第一种方式:  简单的 JavaScript 类(使用工厂方法)

1. 首先 通过原型继承创建一个对象

第二种方式: 使用构造函数来定义

/**原型对象是类的唯一标识:
 *  当且仅当两个对象继承自同一个原型对象时, 它们才属于对一个类的实例.
 *  而构造函数则不能作为类的标识, 两个构造函数的prototype属性可能指向同一个原型对象,
 *  那么这两个构造函数创建的实例就属于同一个类.
 * */
function Range(from, to){
    this.from = from;
    this.to = from;
};
Range.prototype = {
     includes : function(x){return this.from <= x && x <=this.to;},
     toString : function(){return "("+this.from + "----"+this.to+")";}
};
var r = range(1,3);
r.includes(2);
console(r);
/**
 * 实际上 instanceof 并不会检车 r 是否是 有 Range() 构造函数初始化而来的,
 * 而会检查r 是否继承自 Range.prototype
 */
r instanceof Range //如果r继承自 Range.prototype, 则返回true;
时间: 2024-08-28 12:30:58

js 类创建的 三种方式的相关文章

于Unity3D动态创建对象和创建Prefab三种方式的原型对象

u3d在动态创建的对象,需要使用prefab 和创建时 MonoBehaviour.Instantiate( GameObject orignal) 需要的对象为原型. 文提供三种方式获得prefab对象. 方式一:使用脚本的public字段 直接在Project视图里找到做好的prefab,将其拖拽到指定脚本的指定public GameObject 字段. 方式二:Resource类 1.在Assets目录下的任何位置创建一个名为resources的目录.将做好的prefab放到这个目录下,p

JS中创建对象的三种方式

<script> 2 //创建对象的三种方式 3 // 1.利用对象字面量(传说中的大括号)创建对象 4 5 var obj1 = { 6 uname: 'ash', 7 age: 18, 8 sex: "女", 9 sayhi: function() { 10 console.log("hello kitty"); 11 12 } 13 } 14 15 //访问属性的两种方法 16 console.log(obj1.uname); 17 console

49、多线程创建的三种方式之继承Thread类

继承Thread类创建线程 在java里面,开发者可以创建线程,这样在程序执行过程中,如果CPU空闲了,就会执行线程中的内容. 使用Thread创建线程的步骤: 1.自定义一个类,继承java.lang包下的Thread类 2.重写run方法 3.将要在线程中执行的代码编写在run方法中 4.创建上面自定义类的对象 5.调用start方法启动线程 package com.sutaoyu.Thread; //1.自定义一个类,继承java.lang包下的Thread类 class MyThread

Js 类定义的几种方式

提起面向对象我们就能想到类,对象,封装,继承,多态.在<javaScript高级程序设计>(人民邮电出版社,曹力.张欣译.英文名字是:Professional JavaScript for Web Developers)这本书中描述的还算比较详细.我们看看JavaScript中定义类的各种方法. 1.工厂方式 javaScript中创建自己的类和对象,我们应该是必须掌握的,我们都知道javaScript中对象的属性可以在对象创建后动态定义,比如下面的代码: <script type=&q

单例模式创建的三种方式

一.单例模式的好处 1.对于频繁使用的对象,可以省略new操作花费的时间,这对于那些重量级对象而言,是非常可观的一笔系统开销: 2.由于new操作的次数减少,因而对系统内存的使用频率也会降低,这将减轻GC压力,缩短GC停顿时间. 二.创建方式 1)饿汉式 1 public class Singleton { 2     private Singleton(){ 3         System.out.println("Singleton is create"); 4     } 5 

控制器创建的三种方式

1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 2 { 3 // 1.创建UIWindow 4 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 5 self.window.backgroundColor = [UIC

JS事件绑定的三种方式比较

js事件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body{ width:100%; height:100%; } input{ display: block; margin-bottom:10px; } .active{ color:

05_创建线程三种方式对比

[采用实现Runnable.Callable接口方式创建多线程] [优点]1.线程只是实现了Runable接口或者Callable接口,还可以继承其它类. 2.在这种方式下,多个线程可以共享同一个target对象,比较适合多个相同线程来处理同一份资源的情况. [缺点] 编程略复杂,如果需要访问当前线程,则必须使用Thread currentThread()方法. [采用继承Thread类来创建多线程] [优点] 编写简单,如果需要访问当前线程,只需使用this即可获得当前线程. [缺点] 因为继

js 定义接口的三种方式

js 定义接口有三种方式 : 1.注解描述方式 优点 : 程序有可以有一个参考 缺点 : 还是属于文档的范畴,这种方式太松散,没有检查接口的方法是否完全被实现 /* * interface Composite { * function add(obj); * function remove(obj); * function update(obj); * } */ // CompositeImpl implements Composite var CompositeImpl = function