有什么方法可以在 Javascript 中确定对象是使用 对象文字 表示法还是使用构造函数方法创建的?
在我看来,您只是访问它的父对象,但如果您传入的对象没有对其父对象的引用,我认为您无法分辨,对吗?
原文由 leeand00 发布,翻译遵循 CC BY-SA 4.0 许可协议
有什么方法可以在 Javascript 中确定对象是使用 对象文字 表示法还是使用构造函数方法创建的?
在我看来,您只是访问它的父对象,但如果您传入的对象没有对其父对象的引用,我认为您无法分辨,对吗?
原文由 leeand00 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.4k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.1k 阅读
我刚刚在一次甜蜜的 hackfest 中遇到了这个问题和线程,该 hackfest 涉及评估对象是使用 {} 还是 new Object() 创建的圣杯(我仍然没有弄清楚。)
无论如何,我惊讶地发现此处发布的 isObjectLiteral() 函数与我自己为 Pollen.JS 项目编写的 isObjLiteral() 函数之间存在相似之处。我相信这个解决方案是在我提交 Pollen.JS 之前发布的,所以 - 向你致敬!我的优点是长度……不到一半(如果包括您的设置程序),但两者都会产生相同的结果。
看一看:
此外,一些测试内容:
或者在 jsbin.com 上…
http://jsbin.com/iwuwa
当你到达那里时一定要打开 firebug - 调试文档是为 IE 爱好者准备的。