`
k1280000
  • 浏览: 203734 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Js code : toString() equals ()

 
阅读更多
// This class isn't good for much on its own. But it does define a
// generic toString( ) method that may be of interest to other classes.
function GenericToString( ) {}
GenericToString.prototype.toString = function( ) {
    var props = [];
    for(var name in this) {
        if (!this.hasOwnProperty(name)) continue;
        var value = this[name];
        var s = name + ":"
        switch(typeof value) {
        case 'function':
            s += "function";
            break;
        case 'object':
            if (value instanceof Array) s += "array"
            else s += value.toString( );
            break;
        default:
            s += String(value);
            break;
        }
        props.push(s);
    }
    return "{" + props.join(", ") + "}";
}

// This mixin class defines an equals( ) method that can compare
// simple objects for equality.
function GenericEquals( ) {}
GenericEquals.prototype.equals = function(that) {
    if (this == that) return true;

    // this and that are equal only if this has all the properties of
    // that and doesn't have any additional properties
    // Note that we don't do deep comparison.  Property values
    // must be === to each other.  So properties that refer to objects
    // must refer to the same object, not objects that are equals( )
    var propsInThat = 0;
    for(var name in that) {
        propsInThat++;
        if (this[name] !== that[name]) return false;
    }

    // Now make sure that this object doesn't have additional props
    var propsInThis = 0;
    for(name in this) propsInThis++;

    // If this has additional properties, then they are not equal
    if (propsInThis != propsInThat) return false;
    // The two objects appear to be equal.
    return true;
}


 

 

分享到:
评论

相关推荐

    IntelliJIDEA_ReferenceCard_Mac.pdf

    - Generate code:自动生成Getters、Setters、Constructors、hashCode/equals、toString等代码。 - Override/Implement methods:实现或重写方法。 7. 注释快捷键: - 使用行注释:对选中的代码行添加或删除行...

    Kotlin教学

    Kotlin 中的数据类是一种特殊的类,它提供了自动实现的 `equals()`、`hashCode()` 和 `toString()` 方法,简化了创建简单数据容器的过程。 #### 泛型 Kotlin 的泛型机制允许编写类型安全的通用代码,支持类型参数、...

    ReferenceCard中文版

    - Alt+Insert可以生成常见的代码结构,如Getters, Setters, Constructors, hashCode/equals, toString等。 4. 代码生成(Code Generation): 如Alt+Insert可以用来生成构造方法、重写方法等,这些快捷键使得...

    一个简单的基于Android读取xls和xlsx文件的例子

    String extension = MimeTypeMap.getFileExtensionFromUrl(selectedFileUri.toString()); WorkbookFactory workbookFactory; if ("xls".equals(extension)) { workbookFactory = WorkbookFactory.create...

    安卓开发-利用JSON,通过Android客户端访问web服务器,实现一个登录功能.zip.zip

    在安卓应用开发中,利用JSON(JavaScript Object Notation)与Web服务器进行数据交互是一个常见的实践。JSON作为一种轻量级的数据交换格式,因其易读、易写、易解析的特性,被广泛应用于移动设备上的网络通信。本...

    kotlin-reference-chinese

    - **数据类**:数据类是Kotlin中的一个特殊类,主要用于存储数据,具有内置的toString()、equals()和hashCode()方法。 - **密封类**:密封类是一种特殊的类,用于定义有限数量的子类,适用于状态模式等场景。 - **...

    test_code

    11. **数据类**:Kotlin 的 `data class` 自动生成 `equals()`, `hashCode()` 和 `toString()` 方法,简化了比较和日志记录。 12. **Lambda 表达式**:Kotlin 支持简洁的 lambda 表达式,常用于函数式编程操作,如...

    blog_piashcse_code

    在面向对象编程方面,Kotlin支持数据类,自动生成equals()、hashCode()和toString()方法,简化了常见任务。此外,Kotlin还引入了密封类,限制了继承的范围,通常用于实现有限的枚举行为。 Kotlin的函数式编程特性也...

    快速开发,代码自动生成,很实用

    1. **实体类生成**:根据数据库表结构自动生成对应的Java实体类,包含getter/setter、equals()、hashCode()和toString()等方法。 2. **DAO(数据访问对象)和Service层代码**:生成与数据库交互的接口及其实现,以及...

    adventofcode:我的代码解决方案出现

    3. **数据类和域对象**:Advent of Code 问题通常涉及到数据处理,Kotlin 的数据类提供了一种简洁的方式来创建带有默认构造函数、equals()、hashCode() 和 toString() 方法的类。 4. **集合操作**:Kotlin 提供了...

    vue+springboot前后端分离实现单点登录跨域问题处理.doc

    因为我们的前端使用的是 Vue.js,而后端使用的是 Spring Boot,这两个技术栈之间的通信需要跨域请求。我们首先需要在 Spring Boot 项目中配置 CORS 来允许跨域请求。 在 Spring Boot 中,我们可以使用 `@...

    使用Post方法模拟登陆爬取网页的实现方法

    responseCode.equals("200")) { map = postCapture(REQUEST_DATA); responseCode = map.get("responseCode"); value = map.get("value"); } System.out.println(value); } private static HashMap, String>...

    30秒的Kotlin:仅使用stdlib功能即可快速了解的Kotlin片段

    使用`data class`关键字可以自动生成equals(), hashCode(), toString()等方法,简化数据对象的定义。例如,`data class Person(val name: String, val age: Int)`。 9. **密封类**: 封装类限制了子类的数量,...

    java面试宝典

    18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 9 19、是否可以继承String 类? 9 20、以下二条语句返回值为true 的有: 10 21、当一个对象被当作参数传递到一个方法后,此方法可...

    Java学习笔记-个人整理的

    {3.1.1}\ttfamily toString}{67}{subsection.3.1.1} {3.1.2}\ttfamily equals}{67}{subsection.3.1.2} {3.1.3}\ttfamily hashCode}{68}{subsection.3.1.3} {3.2}String类}{69}{section.3.2} {3.3}String常量重...

Global site tag (gtag.js) - Google Analytics