JavaScript:访问嵌套对象

JavaScript: Accessing Nested Objects

本文关键字:对象 嵌套 访问 JavaScript      更新时间:2023-09-26

代码如下所示

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()时。我无法获取文本输入("T1")的值。

看起来你的代码比它应该复杂一些;-)

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

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/

试试这个:

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

您没有关闭最后一个"}" :-)