• 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>
  • 相关阅读:
    在IE和Firfox获取keycode
    using global variable in android extends application
    using Broadcast Receivers to listen outgoing call in android note
    help me!virtual keyboard issue
    using iscroll.js and iscroll jquery plugin in android webview to scroll div and ajax load data.
    javascript:jquery.history.js使用方法
    【CSS核心概念】弹性盒子布局
    【Canvas学习笔记】基础篇(二)
    【JS核心概念】数据类型以及判断方法
    【问题记录】ElementUI上传组件使用beforeupload钩子校验失败时的问题处理
  • 原文地址:https://www.cnblogs.com/ctsch/p/6914328.html
Copyright © 2020-2023  润新知