Javascript 为什么toString()是一个不';你不需要东西吗?
我对编程的了解越深,我认为我知道的旧概念就越让我困惑。例如,toString()方法。为什么我可以将此方法应用于非对象的变量?是因为toString()是一个内置的javascript方法,可以应用于所有数据类型吗?几乎所有东西都是javascript中的对象。您所谓的原语(字符串、数字等)都有方法:Javascript 为什么toString()是一个不';你不需要东西吗?,javascript,string,object,Javascript,String,Object,我对编程的了解越深,我认为我知道的旧概念就越让我困惑。例如,toString()方法。为什么我可以将此方法应用于非对象的变量?是因为toString()是一个内置的javascript方法,可以应用于所有数据类型吗?几乎所有东西都是javascript中的对象。您所谓的原语(字符串、数字等)都有方法: console.log(“Message.toUpperCase()); console.log(123.toString())几乎所有东西都是JavaScript中的对象。您所谓的原语(字符串
console.log(“Message.toUpperCase());
console.log(123.toString())代码>几乎所有东西都是JavaScript中的对象。您所谓的原语(字符串、数字等)都有方法:
console.log(“Message.toUpperCase());
console.log(123.toString())
有多种不同类型的toString
方法。有Object.prototype.toString
,任何对象都将继承它。还有Number.prototype.toString
,Boolean.prototype.toString
,和String.prototype.toString
当你这样做的时候
'foo'.toString()
实际上您正在调用String.prototype.toString
——您没有调用Object.prototype.toString
Object.prototype.toString=()=>“已更改”;
log('foo.toString())
有多种不同类型的toString
方法。有Object.prototype.toString
,任何对象都将继承它。还有Number.prototype.toString
,Boolean.prototype.toString
,和String.prototype.toString
当你这样做的时候
'foo'.toString()
实际上您正在调用String.prototype.toString
——您没有调用Object.prototype.toString
Object.prototype.toString=()=>“已更改”;
log('foo.toString())代码>您应该了解“原型继承”。在我看来,这是javascript语言中最关键的概念之一
上面的答案是正确的,但除非你花点时间研究这门学科,否则你不会理解它们的意思
希望能给你一些指导 你应该学习“原型遗传”。在我看来,这是javascript语言中最关键的概念之一
上面的答案是正确的,但除非你花点时间研究这门学科,否则你不会理解它们的意思
希望能给你一些指导 哪个toString
方法?你是说Object.prototype.toString
?请看下面的例子:var message=“Hello world!”;var x=message.toUpperCase()@当然性能你真的在问String.prototype.toString
?@CertainPerformance我想是的,是哪种toString
方法?你是说Object.prototype.toString
?请看下面的例子:var message=“Hello world!”;var x=message.toUpperCase()@CertainPerformance你真的在问String.prototype.toString
?@CertainPerformance我想是的,当你在原语上调用toString
时,通常你只是调用原语特有的toString
方法。如果您实际上一直在调用Object.prototype.toString
,您会看到[Object String]
。当您在原语上调用toString
时,通常您只是调用原语特定的toString
方法。如果您实际上一直在调用Object.prototype.toString
,您就会看到[objectstring]
。