zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Python正则表达式(3)--字符串匹配开头结尾
    Python正则表达式(2)---字符串匹配多个字符
    Python正则表达式(1) --匹配单个字符
    Navicate Premium 永久破解
    升级pip指令
    爬虫(自学)之User Agent 第三方库my_fake_useragent 和 fake_useragent
    django drf 反序列化上传图片
    git的使用
    python 爬虫 基本库使用urllib之urlopen(一)
    吉他入门第三讲~~~~~和弦
  • 原文地址:https://www.cnblogs.com/ctsch/p/6914328.html
Copyright © 2011-2022 走看看