JavaScript:访问嵌套对象

时间:2012-06-13 05:17:13

标签: javascript

代码看起来像这样

function Scripts() {this.FindById = function (id) {
    this.FindById.constructor.prototype.value = function () {
        return document.getElementById(id).value;

    }}}

var Control = new Scripts();

现在我说Control.FindById(“T1”)。value()。我无法获得textInput(“T1”)的值。

2 个答案:

答案 0 :(得分:1)

您的代码似乎比它应该更复杂; - )

就我个人而言,我会这样写(未经测试):

function Scripts() {
  this.findById = function(id) {
    var el = document.getElementById(id);

    return {
      value: function() { 
        return el.value;
      }
    }
  }
}

findById()现在关闭一个节点并返回一个可以返回其值的接口。

另外,你的想法听起来很像Singleton,所以你甚至不需要额外的Scripts构造函数:

var Control = {
    findById: function(id) {
        var el = document.getElementById(id);

        return {
            value: function() { 
                return el.value;
            }
        }
    }
}

工作示例:http://jsfiddle.net/YYkD7/

答案 1 :(得分:0)

试试这个:

function Scripts() {this.FindById = function (id) {
    this.FindById.constructor.prototype.value = function () {
        return document.getElementById(id).value
    }}}

你没有关闭最后一个“}”: - )