• JavaScript创建对象的方法


    显示在浏览器中的控制台中。

    <script type="text/javascript">
    //这个工厂方法返回一个新的"范围对象"
    function range(from,to){
        //使用inherit()函数来创建对象,这个对象继承自在下面定义的原型对象
        //原型对象作为函数的一个存储,并定义所有“范围对象”所共享的方法(或者叫行为)
        //var r = inherit(range.methods);
        var r = Object.create(range.methods)  //r是一个继承自range.methods的对象
        //存储新的“范围对象”的起始位置和结束位置(状态)
        //这两个属性是不可继承的,每个对象都拥有唯一的属性
        r.from = from;
        r.to = to ;
    
        //返回这个新创建的对象
        return r;
    };
    
    //原型对象定义放法,这些放发为每个范围对想所继承
    range.methods = {
        //如果x在范围内,则返回true,否则返回false
        //这个方法可以比较数字范围,也可以比较字符串和日期范围
        includes: function(x){
                    return this.from < x && this.to > x ;
                },
    
        //对于范围内的每个证书都调用一次f
        //这个方法只有可用作数字范围
        foreach : function(f){
                    for(var x = Math.ceil(this.from); x<this.to; x++)
                        f(x);
                },
        //返回表示这个范围的字符串
        toString : function(){
                        return "("+this.from+"...."+this.to+")";
                },
    };
    
    //这里是使用“范围对象”的一些例子
    var r = range(1,5);
    console.log(r.includes(5));
    r.foreach(console.log);
    console.log(r);
    
    
    //使用构造函数创建一个对象(常用)
    //注意:这里并没有创建并返回一个对象,仅仅是初始化
    function Range( from , to ){
        //存储“范围对象”的起始位置和结束位置(状态)
        //这两个属性是不可继承的,每个对象都拥有唯一的属性
        this.from     = from ;
        this.to     = to;
    }
    
    //所有的“范围对象”都继承自这个对象
    //注意,属性的名字必须是 prototype  ********/
    Range.prototype = {
        //如过x在范围内,则返回true,否则返回false
        //这个方法可以比较数字范围,也可以比较字符串和日期范围
        includes : function(x){
                    return this.from < x && x < this.to;
                },
        //对于范围内的每个证书都调用一次f()
        //这个方法只可用于数字范围
        foreach : function(f){
                    for(var x = Math.ceil(this.from); x<this.to; x++)
                        f(x);
                },
        //返回表示这个范围的字符串
        toString : function(){
                        return "("+this.from+"...."+this.to+")";
                },
    }
    //这里是使用“范围对象”的一些例子
    console.log("使用构造函数创建一个对象(常用):");
    
    var R = new Range(1,5);        //注意这个构造函数用关键字new来调用
    console.log(R.includes(5));
    R.foreach(console.log);
    console.log(R);
    
    
    </script>
  • 相关阅读:
    Quartz学习——Spring和Quartz集成详解(三)
    Quartz学习——Quartz简单入门Demo(二)
    Quartz学习——Quartz大致介绍(一)
    Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(四)
    使用spring+quartz配置多个定时任务
    quartz定时任务时间设置
    Hibernate事务与并发问题处理(乐观锁与悲观锁)
    Oracle体系结构之参数文件管理
    Oracle体系结构之密码文件管理
    LINUX RHEL AS 4 + ORACLE10G安装详解
  • 原文地址:https://www.cnblogs.com/ctsch/p/6914328.html
Copyright © 2020-2023  润新知