在 javascript 中,当你 new() 一个函数时会发生啥? [复制]

Posted

技术标签:

【中文标题】在 javascript 中,当你 new() 一个函数时会发生啥? [复制]【英文标题】:In javascript, what happens when you new() a function? [duplicate]在 javascript 中,当你 new() 一个函数时会发生什么? [复制] 【发布时间】:2012-07-30 01:03:10 【问题描述】:

可能重复:What is the 'new' keyword in javascript?

我正在学习 Javascript 中的原型,想知道这段代码在做什么。这不像我在 Java 或 C# 中遇到的那样:

  function MyObject(Parameter)
  
    this.testString = Parameter;
  

  var objectRef = new MyObject( "myValue" );

新的 MyObject("value") 位是怎么回事?我知道在 javascript 中函数是对象,但我仍然想知道当你 new() 一个函数时发生了什么?

【问题讨论】:

***.com/questions/383402/…FFS 我不会被允许改变这个 shiza 好问题,简而言之:没有类,只有对象。 \n没有意义?很好,你是个java小子 【参考方案1】:

它所做的是变量 objectRef 正在创建一个新对象,因此该函数中的所有内容都可以在仅影响自身的变量上调用。让我给你演示一下:

var cat = new MyObject("Im a cat");
var dog = new MyObject("Im a dog");

console.log(cat.testString);
// "Im a cat"

console.log(dog.testString);
// "Im a dog"

希望对你有所帮助。

【讨论】:

以上是关于在 javascript 中,当你 new() 一个函数时会发生啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 学者必看“new”

JavaScript中用new操作符创建对象的时候具体发生了啥过程

javascript中new关键字详解

javascript中new操作符的原理

Javascript“var obj = new Object”在C#中的等价物

JavaScript 中 Date() 和New Date()有啥区别?