将我的对象与字符串连接
Concatenating my object with a string
这个问题适用于Javascript中的对象。
我注意到我可以很好地添加一个字符串和一个Error对象,并且Error对象文本连接起来没有问题。
try {
throw new Error('Sample Text');
} catch (error) {
document.writeln('There was an error. ' + error); // Go plus sign!
}
这输出了非常酷的There was an error. Error: Sample Text
。Error对象知道我想要连接的字符串。我自己的东西不像这样好看。
var myObject = (function () {
var text = 'Text I want to concat.',
get_text = function () { return text; },
that = {};
that.get_text = get_text;
return that;
}());
document.writeln('What does my object say: ' + myObject); // Uncool
我自己的对象输出What does my object say: [object Object]
,并不像Error对象那样表现良好。
我不希望输出[object Object]
。如何更改myObject添加到字符串时弹出的字符串?
您应该为对象提供一个toString
方法,该方法返回适当的字符串。所以您只需要将get_text
重命名为toString
。你可以这样写:
var myObject = (function () {
var text = 'Text I want to concat.';
return {
toString : function () { return text }
};
}());
您需要提供一个toString()方法,就像在Java编程语言中一样。
(人们总是对语言的不同大惊小怪,但实际上,它们有一些显著的相似之处,比如这样。)
例如,看看这段代码:
function Apple() {
this.toString = function() {
return "I'm an Apple!"
}
}
var apple = new Apple();
document.write(apple);
对于现有对象,可以通过以下方式添加toString方法:
existingObject.prototype.toString = function() {
return "I am an existing objet.";
}
相关文章:
- 当附加到DOM时,可以将变量与字符串连接起来吗?它能处理逃跑吗
- 将变量与字符串连接以定义另一个变量
- AJAX 后请求和字符串连接
- 哪种方式在Javascript,字符串连接或数组中更好
- Javascript 字符串连接错误
- Javascript - 使用字符串连接设置变量
- 换行符及其在 Javascript 中的字符串连接中的作用
- 下划线.js if 语句上的字符串连接
- 以下jQuery字符串连接代码有什么问题
- XMLHttpRequest 中表单数据上的 Javascript 二进制字符串连接
- JavaScript 字符串连接不起作用
- 是否可以在 JavaScript 中将 OBJ 与字符串连接起来
- Jquery 字符串连接
- 谁能解释这种关于字符串连接的奇怪 JS 行为
- 将我的对象与字符串连接
- JavaScript 中的字符串连接
- 分配期间的JavaScript字符串连接
- 在AngularJS中使用HTML img src中的字符串连接
- JavaScript-将多个字符串连接在一起
- 字符串连接与 ( document.getElementById().value).