new关键字如何强制该关键字指向JavaScript中新创建的对象?

new关键字如何强制该关键字指向JavaScript中新创建的对象?,javascript,object,new-operator,Javascript,Object,New Operator,好心的是,我是javascript领域的初学者,我不再学习new关键字指向新创建的对象这一点,让我们编写一些代码,然后问我的问题 function Employee(name) { this.name = name; } var x = new Employee("youhana"); new关键字是如何强制该关键字指向x对象的,尽管表达式没有到达末尾,我的意思是 var x = new Employee("youhana"); 首先,=操作数将等待新员工(“youhana”)表达

好心的是,我是javascript领域的初学者,我不再学习
new
关键字指向新创建的对象这一点,让我们编写一些代码,然后问我的问题

function Employee(name) {
    this.name = name;
}

var x = new Employee("youhana");
new关键字是如何强制该关键字指向
x
对象的,尽管表达式没有到达末尾,我的意思是

var x = new Employee("youhana");
首先,
=
操作数将等待
新员工(“youhana”)表达式求值的结束
结束,然后它将分配此表达式的最终值,并将其放入将成为对象的
x
, 另一个例子:

function Book(){
**/*at this point, there's is no relation between the new object that will be created after this block of code ended, so how new keyword in this point knew that the new object  **will** be obj and **this** will point to it?*/**
}

var obj = new Book();
新表达式的顺序:

1) 使用Constructor.prototype作为原型创建新的空对象

x=Object.create(Employee.prototype);
2) 调用构造函数,将新对象绑定为:

Employee.call(x);
3) 表达式返回

function new_obj(of){
  var obj=Object.create(of.prototype);
  of.call(obj);
  return obj;
}

var x=new_obj(Employee);
//equals
var x=new Employee();

你能在构造函数中按顺序写这个吗?因此,我将用order@youhana这主要不是指向x(因为x还没有定义),而是指向内存中某个地方的某个对象。新的构造函数返回一个指向这个位置的指针…@Johas w:拜托,你能提供一个引用吗,因为我不明白.call(obj)@youhana(function(){alert(this);}).call(“Hi!”)的意义;标记为正确答案,谢谢您的时间。@J.Titus的可能副本:我打开了指向性问题,但它没有回答我的问题,如果您修改指向性问题,你会发现它没有简单地描述步骤1,因为他写道新的将只指向新的对象,并且没有像下面描述的那样清楚地写下步骤。