访问对象内部的属性call()?

用户2381114

有一个奇怪的问题-由于某种原因,call()仅当在函数内部返回方法时,使用该方法访问该属性内的父对象才有效。

为什么在第二个示例中我不能访问MyObject,但是在第一个示例中我可以访问MyObject?

我需要进行第二次工作,因为我不想一直在循环内调用函数,因为它很慢而且看起来很糟糕。

我现在所拥有的:

var MyObject = { 
   "selectorArray": ['[id*="example"]','[class*="example"]'],
   "all": function() {
      return Array.prototype.slice.call(document.querySelectorAll(MyObject.selectorArray.join())); 
   },
   "somemethod": function () {
             for (var i = 0; i < MyObject.all().length; i++) {
                   MyObject.all()[i] // do something etc
             }
    }
    .. I need to use all() in loops other methods also
}

我想要什么(更快更好看)

var MyObject = { 
   "selectorArray": ['[id*="example"]','[class*="example"]'],
   "all": Array.prototype.slice.call(document.querySelectorAll(MyObject.selectorArray.join())),
   "somemethod": function () {
             for (var i = 0; i < MyObject.all.length; i++) {
                   MyObject.all[i] // do something etc
             }
    }
    .. I need to use all in loops other methods also
}
user2357112支持Monica

MyObject对象文字被评估时不存在。您不能用它MyObject.anything来定义MyObject.all文字中的值,因为您所指的是尚未创建的对象的属性。相反,您可以从文字中提取所需的值:

var selectorArray = ['[id*="example"]','[class*="example"]'];
var MyObject = { 
   "selectorArray": selectorArray,
   "all": Array.prototype.slice.call(document.querySelectorAll(selectorArray.join())),
   "somemethod": function () {
             for (var i = 0; i < MyObject.all.length; i++) {
                   MyObject.all[i] // do something etc
             }
    }
    ...
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

访问对象内部的对象内部的对象的属性

来自分类Dev

从内部函数访问本地对象属性(JavaScript)

来自分类Dev

Javascript:访问数组内部对象的属性

来自分类Dev

如何访问内部的对象属性以呈现HTML?

来自分类Dev

无法访问指令内部对象的属性

来自分类Dev

如何使用内部对象函数Javascript访问外部对象属性

来自分类Dev

访问对象内部的“ this”

来自分类Dev

python访问另一个对象内部的对象属性

来自分类Dev

访问初始化对象的内部对象属性时出现 NullPointerException

来自分类Dev

灰烬对象属性访问

来自分类Dev

对象的Javascript访问属性

来自分类Dev

访问对象数组的属性

来自分类Dev

从对象访问单个属性

来自分类Dev

访问数组对象属性

来自分类Dev

灰烬对象属性访问

来自分类Dev

嵌套对象的对象访问属性

来自分类Dev

从类内部访问python属性

来自分类Dev

TabBarController:访问UIViewController内部的属性

来自分类Dev

AngularJS-如何使用ng-repeat访问对象内部的数组属性

来自分类Dev

在讨论向量内部的对象时,如何访问特定于派生类的方法和属性?

来自分类Dev

属性在对象内部正确设置,但在外部无法访问

来自分类Dev

c# 创建一个可重用的方法来访问对象内部的属性

来自分类Dev

为什么可以在内部函数成员中访问对象引用,而不能在内部属性成员中访问对象引用?

来自分类Dev

为什么可以在内部函数成员中而不是内部属性成员中访问对象引用?

来自分类Dev

如何访问对象内部的对象值?

来自分类Dev

在Scala中访问同伴对象内部的对象

来自分类Dev

JsonPath 内部对象属性的差异

来自分类Dev

PHP:数组内部对象内部数组内部的访问元素

来自分类Dev

PHP:数组内部对象内部数组内部的访问元素

Related 相关文章

  1. 1

    访问对象内部的对象内部的对象的属性

  2. 2

    从内部函数访问本地对象属性(JavaScript)

  3. 3

    Javascript:访问数组内部对象的属性

  4. 4

    如何访问内部的对象属性以呈现HTML?

  5. 5

    无法访问指令内部对象的属性

  6. 6

    如何使用内部对象函数Javascript访问外部对象属性

  7. 7

    访问对象内部的“ this”

  8. 8

    python访问另一个对象内部的对象属性

  9. 9

    访问初始化对象的内部对象属性时出现 NullPointerException

  10. 10

    灰烬对象属性访问

  11. 11

    对象的Javascript访问属性

  12. 12

    访问对象数组的属性

  13. 13

    从对象访问单个属性

  14. 14

    访问数组对象属性

  15. 15

    灰烬对象属性访问

  16. 16

    嵌套对象的对象访问属性

  17. 17

    从类内部访问python属性

  18. 18

    TabBarController:访问UIViewController内部的属性

  19. 19

    AngularJS-如何使用ng-repeat访问对象内部的数组属性

  20. 20

    在讨论向量内部的对象时,如何访问特定于派生类的方法和属性?

  21. 21

    属性在对象内部正确设置,但在外部无法访问

  22. 22

    c# 创建一个可重用的方法来访问对象内部的属性

  23. 23

    为什么可以在内部函数成员中访问对象引用,而不能在内部属性成员中访问对象引用?

  24. 24

    为什么可以在内部函数成员中而不是内部属性成员中访问对象引用?

  25. 25

    如何访问对象内部的对象值?

  26. 26

    在Scala中访问同伴对象内部的对象

  27. 27

    JsonPath 内部对象属性的差异

  28. 28

    PHP:数组内部对象内部数组内部的访问元素

  29. 29

    PHP:数组内部对象内部数组内部的访问元素

热门标签

归档