通过';这';在JavaScript中的构造过程中发送到另一个对象构造函数

通过';这';在JavaScript中的构造过程中发送到另一个对象构造函数,javascript,class,this,Javascript,Class,This,好的,这是我的代码 function stdTile(gameObjectargs) { gameObjectargs.parent=this; this.gameObject=new gameObject(gameObjectargs); } 基本上,我想做的就是将“This”传递给gameObject,这样当我使用newstdtile({})时,我就可以引用回stdTile 但出于某种原因,每次我称它为setgameObject.parent到window有什么帮助吗

好的,这是我的代码

function stdTile(gameObjectargs)
{   
    gameObjectargs.parent=this;
    this.gameObject=new gameObject(gameObjectargs);
}
基本上,我想做的就是将“This”传递给gameObject,这样当我使用
newstdtile({})时,我就可以引用回stdTile
但出于某种原因,每次我称它为set
gameObject.parent
window
有什么帮助吗

::编辑::


我不明白为什么我的代码没有出现,但我做了一个修改

你的代码应该按预期工作;下面是一个例子:

function gameObject(args)
{
    this.parent = args.parent;
    this.args = args;
}

function stdTile(gameObjectargs)
{   
    gameObjectargs.parent=this;
    this.gameObject=new gameObject(gameObjectargs);
}

var tile = new stdTile({});
console.log(tile.gameObject.parent === tile); // true

你的问题不清楚,请包括一个提琴。我不确定你想做什么,但1
这个
是一个关键字2函数不能创建变量在它们之外使用,我看不到你的代码,也不理解你的问题,但这可能会有所帮助。您能否解释一下实例化后尝试访问
parent
属性的方式?代码示例会很有用。只需在控制台中键入我的新stdTile对象,然后导航到gameObject属性,然后是父属性,该属性等于Window。我复制该行为的唯一方法是在尝试创建stdTile实例时忽略
new
关键字。我得到了相同的结果,而没有更改原始代码中的任何内容。我猜
new
关键字不见了。。。此外,为什么这个
variable
属性(
obj.parent.variable
)?哦,哇,原来一切都很好,除了在函数gameObject中我有这个。parent=parent而不是这个。parent=args.parent我不知道parent返回了窗口对象,或者它是一个关键字?无论如何,谢谢大家的帮助!:)
obj.parent.variable
只是一种简化我的长代码的简单方法,它实际上是我正在开发的一款游戏的碰撞检测系统,通过对游戏对象进行排序,找出哪些对象与特定区域发生碰撞,然后将其存储在一个数组中,需要有一种方法来判断它们属于哪个对象:)