首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >{}的单例模式?

{}的单例模式?
EN

Stack Overflow用户
提问于 2009-10-23 10:39:58
回答 1查看 244关注 0票数 0

,我很抱歉,把它从这里移开,因为有一些混乱,感谢格雷回答这个问题,以意识到错误。该主题已转移到Javascript: Behavior of {}进行进一步讨论。

带有{}的单例模式。如下所示:

代码语言:javascript
复制
var A = {
 B : 0
};

// A is an object?
document.write("A is an " + typeof A);

让我们尝试克隆对象A

代码语言:javascript
复制
var objectOfA = new Object(A);
objectOfA.B = 1;

//Such operation is not allowed!
//var objectOfA = new A();

var referenceOfA = A;
referenceOfA.B = -1;

document.write("A.B: " + A.B);
document.write("<br/>");

上述referenceOfA.B具有对象A的引用,因此referenceOfA.B值的变化必然反映在A.B中。

代码语言:javascript
复制
document.write("referenceOfA.B: " + referenceOfA.B);
document.write("<br/>");

如果成功克隆,那么objectOfA应该保存值1

代码语言:javascript
复制
document.write("objectOfA.B: " + objectOfA.B);
document.write("<br/>");

这里是结果:

A是一个对象

A.B:-1

参考资料B:-1

对象OfA.B:-1

到目前为止,一切都很清楚,但是对象应该使用instanceof。但是在这里,如果您尝试将instanceofA结合使用,则会出现异常。

为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-10-23 10:47:03

我没有例外:

代码语言:javascript
复制
alert(A instanceof Object); // true

在Chrome,IE8和火狐上进行了测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1612631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档