html equal判断,Javascript 中对像 equals 方法的实现

上次 我们谈到Javascript 中 浅拷贝与深拷贝的实现..

这回我们看看如何实现判断两个对像的内容是否相等.

这里有一个克隆结果原则是针对Java语言的,当然JavaScript也可以胜任.

克隆满足的条件

clone()方法将对象复制了一份并返还给调用者。所谓“复制”的含义与clone()方法是怎么实现的有关。一般而言,clone()方法满足以下的描述:

第一、对任何的对象x,都有:x.clone() != x;换言之,克隆对象与原对象不是同一个对象;

第二、对任何的对象x,都有:x.clone().getClass == x.getClass(),换言之,克隆对象与原对象的类型一样;在Javascript getClass 就相当于constructor

第三、如果对象x的equals()方法是定义恰当的话,那么 x.clone().equals(x)也应当是成立的。

在Java语言的API中,凡是提供了clone()方法的类,都满足上面的这些这些条件。Java语言的设计师在设计自己的clone()方法是,也应当遵守这三个条件。

第三条为可选,不必强制实现的,意思是说只要编制得当,也可以实现.

1. 我们还拿上次的列子看一下:

New Document

其它对像的equals 方法的样例:

后面一个,我重定义了 Boolean 构造函数,并实现了它的toStirng()方法.

可以瞅瞅.

New Document

var a = new Object(); a.arr = new Array("a","b","c");a.name="a"; a.alert = function(){alert()}

var b = new Object(); b.arr = new Array("a","b");    b.name="a"; b.alert = function(){}

var str = new String("abc");

var str_1 = "abc";

var str_2 = "abd";

var c = a;

var d = b;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值