Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用字符串连接我的对象_Javascript_Object - Fatal编程技术网

Javascript 用字符串连接我的对象

Javascript 用字符串连接我的对象,javascript,object,Javascript,Object,这个问题针对Javascript中的对象 我注意到我可以添加一个字符串和一个错误对象,并且错误对象文本连接起来没有问题 try { throw new Error('Sample Text'); } catch (error) { document.writeln('There was an error. ' + error); // Go plus sign! } 这表明有一个错误。错误:示例文本非常酷。错误对象知道我要连接的字符串。我自己的对象不是这样的 var myObj

这个问题针对Javascript中的对象

我注意到我可以添加一个字符串和一个错误对象,并且错误对象文本连接起来没有问题

try {
    throw new Error('Sample Text');
} catch (error) {
    document.writeln('There was an error. ' + error); // Go plus sign!
}
这表明有一个错误。错误:示例文本非常酷。错误对象知道我要连接的字符串。我自己的对象不是这样的

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
我自己的对象输出我的对象所说的内容:[object object],并且不像Error对象那样表现良好


我不希望[object]被输出。如何更改myObject在添加到字符串时吐出的字符串?

您应该为对象提供一个返回适当字符串的toString方法。所以您只需要将get_text重命名为toString。你可以这样写:

var myObject = (function () {
    var text = 'Text I want to concat.';
    return {
      toString : function () { return text }
    };
}());

您应该为对象提供一个返回适当字符串的toString方法。所以您只需要将get_text重命名为toString。你可以这样写:

var myObject = (function () {
    var text = 'Text I want to concat.';
    return {
      toString : function () { return text }
    };
}());

您需要提供一个toString方法,就像在Java编程语言中一样

人们总是把语言之间的差异看得如此重要,但实际上,他们有一些显著的相似之处,比如这样

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
例如,请看以下代码:

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.";
}

您需要提供一个toString方法,就像在Java编程语言中一样

人们总是把语言之间的差异看得如此重要,但实际上,他们有一些显著的相似之处,比如这样

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
例如,请看以下代码:

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.";
}

非常感谢。我只需将get_text的名称更改为toString,一切正常。谢谢。我只需将get_text的名称更改为toString,一切正常。谢谢。我会投票支持你的答案,但我没有足够的声誉。JavaScript只是表面上与Java相似。事实上,如果你把Scheme和Self强迫成某种看起来像Java、行为像Java的东西,你会得到什么。但它真的是非常不同的功能更强大,动态类型,基于原型…谢谢。我会投票支持你的答案,但我没有足够的声誉。JavaScript只是表面上与Java相似。事实上,如果你把Scheme和Self强迫成某种看起来像Java、行为像Java的东西,你会得到什么。但它真的是非常不同的更具功能性,动态类型化,基于原型。。。