如何打印Path2D对象的名称?
var something= new Path2D(),然后按照绘图的代码执行。
然后我用if语句将变量test存储在另一个变量中。
if (ctx.isPointInPath(test, event.offsetX, event.offsetY)) {
something = test ...
console.log(something) will give Path2D {}.
console.log(toString(something)) will give [object undefined].
console.log(JSON.stringify(something)) will give {}.
1条答案
按热度按时间cwtwac6a1#
JavaScript不会像这样跟踪变量名。这是你需要自己实现的。
使用
let test = new Path2D()
创建Path 2D对象时,将在内存块中创建Path 2D对象。test
并不“包含”对象,它只是一个指向对象内存地址的指针。当您将test
存储到另一个变量(如let something = test
)时,复制到something
的唯一内容是对象的内存地址。存储是单向的-实际的Path 2D对象无法跟踪哪些变量保存其内存地址。从这个意义上说,Path 2D对象本身没有名称。只有保存其地址的变量的名称。您将不得不使用一个额外的变量来跟踪“名称”。
例如: