如何实现``object()`object()

问题描述 投票:0回答:1
Function.call

。这个想法是创建一个对象,该对象是将值传递给呼叫方法的值。最初是

this
想到,但是这并不能真正起作用,因为它仅将对象的原型设置为
thisArg
。 答案基本上归结为使用
Object.create(thisArg)
构造函数,然后在该对象的某些键上以参数为“方法”。
沿着这条线:
thisArg
我的查询是,我对对象构造函数的工作有点混淆 - 似乎它将对象方法的
Object()
设置为构造函数中传递的值,但是SPEC/MDN DOCS中还有其他一些Malarkey这基本上使我感到困惑。 关于为什么起作用有更好的解释吗?有其他实施方法吗?也许这是我不知道的一些hacky JS工作。

当调用

thisArg = thisArg || window; thisArg = Object(thisArg); const methodSymbol = Symbol(); thisArg[methodSymbol] = this; // this is the function on which call is executed.

javascript function this
1个回答
0
投票
对象,返回相同的对象

given
thisObject,返回一个普通的对象(例如调用new
或仅使用
null

  • 原始的,返回原始的对象包装器
  • 
    
    undefined
    
    
  • 当您绝对需要一个对象而不是任何其他原始性时,都会使用无需的对象构造函数。对于该行
  • new Object()
,您不能将其与原始词一起使用,因为您无法更改其任何属性。但是,如果值是资本字符串,数字,布尔值等,则可以

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.