什么是IE8和对象的toString方法?

我试图在我的Backbone.js模型中覆盖toString,但IE8似乎没有认识到该方法存在.将方法名称更改为其他名称可以正常工作,但为什么我不能使用toString?这适用于Chrome.

var Foo = Backbone.Model.extend({
    toString: function(){ return this.get("name"); },description: function(){ return this.get("name"); }
});

var f = new Foo({name: "a foo"});

document.writeln(f.toString());    // "[object Object]",should be "a foo"
document.writeln("<br/>");
document.writeln(f.description()); // "a foo"

JSfiddle代码:http://jsfiddle.net/x96mR/3/

解决方法

如果将Backbone.Model.extend外部的toString移动到:

Foo.prototype.toString = function(){return this.get(“name”); };

有用.我怀疑Backbone正在做一些在IE8中无法正常工作的时髦东西

编辑(感谢@Ferdinand Prantl):

传递到Backbone.extend的所有属性都使用for-in枚举添加到模型的原型中. IE< 9有一个错误,它不会复制称为DontEnumBug的某些属性. DontEnumBug

In IE < 9,JScript will skip over any property in any object where
there is a same-named property in the object’s prototype chain that
has the DontEnum attribute.

构造函数,toString,valueOf,toLocaleString,prototype,isPrototypeOf,propertyIsEnumerable,hasOwnProperty,length和unique都将被跳过.

javascript – IE8中的Object.toString问题,backbone.js的更多相关文章

  1. JavaScript中toString()方法的使用详解

    这篇文章主要介绍了JavaScript中toString()方法的使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下

  2. js中toString方法3个作用

    这篇文章主要给大家分享了js中toString方法的3个作用,文章围绕js中toString方法的相关资料展开全文内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助

  3. JavaScript中用toString()方法返回时间为字符串

    这篇文章主要介绍了JavaScript中用toString()方法返回时间为字符串的方法,是JS入门学习中的基础知识,需要的朋友可以参考下

  4. 如何检查一个对象是否在PHP中实现 – &gt; __ toString()?

    有没有看到一个对象是否专门实现–>__toString?

  5. zend-framework – Zend_Date :: toString()输出错误的年份.我的代码中的错误,还是Zend_Date?

    我正在使用Zend_Date设置并获得年份,但它没有被设置为正确的年份.我把这一年定为2010年,并将年份作为2009年返回.我做错了什么?必须正确设置年份,因为获取日期的部分日期有效:解:好吧,我让它工作……你有你使用小写:yyyy>YYYY代表ISOYear.2010-01-03是第53周,ISO年份的第7天>yyyy代表实际日历年.我也遇到过这个问题.在Zend_Date类中,’YYYY’表示’ISO年’的4位数表示,其中’yyyy’表示’年’的4位数表示.

  6. zend-framework输出Zend_Db_Table的select()语句生成的查询

    我想输出由Zend_Db_Table的select()语句生成的查询来测试porposes,但我不知道如何.这其实很简单.select对象实现了toString方法.要么

  7. php – Laravel Response内容必须是实现__toString()的字符串或对象,给出“object”

    我想运行技能功能,但我不能.Route.PHPuser.PHP的Skills.PHP我想进入/设置页面我有“响应内容必须是实现__toString()的字符串或对象,”对象“给出.”错误.我尝试在路由中添加dd()函数的返回,我看到所有JSON数据但是$skills->get(),$skill->set()当时没有工作.编辑:Skills.PHP当你这样做您正在返回Relation定义对象,该对象未实现__toString()方法.返回相关对象需要的是这将返回一个包含相关技能的Collection对象–这

  8. 我们在哪里和为什么在PHP中使用__toString()?

    我明白它是如何工作的,但为什么我们会用这个呢?我们不能使用任何其他公共方法输出任何文本?为什么我们需要像这样的魔法?

  9. php – __toString()必须返回一个字符串值

    有人能告诉我我做错了什么吗?只是意味着__toString()的返回值必须是数据类型字符串的值.如果您的示例中的$users_class不是字符串值,则必须在返回之前将其转换为字符串.但是在阅读上面的例子时,我觉得var$users_class可能还没有被初始化.在这种情况下,将方法__toString()更改为:要使上述代码正常工作,您还需要对smarty代码进行更改.删除value=attribute值周围的双引号.

  10. wpf – 如何将System.Windows.Media.Color对象序列化到sRGB字符串?

    我需要将WPF应用程序中使用的颜色序列化到数据库.我想使用sRGB的值,因为他们比较熟悉我们过去几年在Web开发中花费的时间.如何从System.Windows.Media.Color对象获取ARGB字符串(如#FFFFFFFF)?更新:我被MSDN上的文档误导了.正如@Kris在下面所述,ToString()方法的文档是不正确的.虽然它表示ToString()“使用ScRGB通道创建颜色的字符串

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部