Javascript:访问自己的对象的变量

标签 javascript

因此以下内容将不起作用:

var Foo = {
    array1 : ['apples', 'oranges', 'grapes'],
    arrayLength : array1.length // error
}

有什么方法可以访问对象内 Foo.array1 的长度吗?

最佳答案

你需要这样做:

var Foo = {};
Foo['array1'] = ['apples', 'oranges', 'grapes'];
Foo['arrayLength'] = Foo['array1'].length;

或者像这样(恕我直言,更干净):

var Foo = function() {
   var a = ['apples', 'oranges', 'grapes'];
   return {'array1': a, 'arrayLength':a.length};
}();

另一种选择:

function Foo(array) {
   this.array1 = array;
   this.arrayLength = array.length;
   //other stuff...
}

var f = new Foo(['apples', 'oranges', 'grapes']);

但实际上,这对我来说没有多大意义你已经存储了数组,为什么还需要缓存 length 属性?`

关于Javascript:访问自己的对象的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7673798/

相关文章:

javascript - 使用 Facebook API 发布到页面时添加定位

javascript - 用字母表中的位置替换字母 - 正则表达式

javascript - angular.forEach 与 $http.get 循环

javascript - FabricJS 绘图模式和 Hammer.JS 捏合创建不需要的非对象

javascript - 更改 "scroll"上的 php 变量

javascript - Angular、ngRoute、routeProvider

javascript - 使用 javascript 获取当前季度

javascript - this.form 和 document.forms 的区别

javascript - jQuery 在鼠标按下时平滑滚动

javascript - 为什么我在 php 中看到 html 标签使用tinymce textarea 作为输入?