javascript - 获取父键名

标签 javascript

我有这样一个函数:

this.doStuff({
    'testkey': {
        testfunction: function() {
            // will return testfunction
            console.log(Object.keys(this));
        }
    }
});

有没有办法在 testfunction 范围内获取 testkey

Object.keys(this) 将返回testfunction

最佳答案

JavaScript this 关键字有点不寻常——它会根据函数的调用方式而改变,大多数时候,this 会引用到它里面的功能。在这种情况下,这只是 testfunction,因此它自然会只为您提供该函数的本地结果。

有各种关于理解this的教程:


在您的场景中,Object.keys()接受一个对象并返回它的键。如果你想要你的对象的键,你需要给它(虽然我已经重命名了你的变量):

var foo = {
    'key': {
        func: function() {
            console.log(Object.keys(foo)); // <------
        }
    }
};

关于javascript - 获取父键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40974295/

相关文章:

javascript - 如何在fabricjs多边形上打洞

javascript - 这个工厂依赖问题有什么问题?

javascript - 是否可以使用内联 javascript 来实现小型自包含事件处理函数?

javascript - 如何创建动态对象?

javascript - 为什么 AJAX 响应不是可排序的方式

javascript - 禁用按钮,除非特定字段有值

asp.net mvc 开发人员的 javascript 最佳实践

javascript - 为什么这段代码的 else 部分没有运行?

javascript - AngularJS 中的 Ng-view 不起作用

javascript - AngularJS 1.3.13 - 传递给 UI-Router 配置的服务提供者未解析