【问题标题】:Assign value to a javascript prototype function为 javascript 原型函数赋值
【发布时间】:2016-09-06 09:02:50
【问题描述】:

我写了一个 javascript 原型函数,我需要像下面这样传递变量来获取值

myarr.value(1,2)="Content";

myarr.prototype.value = function (rows,columns){
        console.log(rows,columns);
}

在上述函数中,我得到的行和列分别为 1 和 2,但内容的错误消息“左侧分配无效”。

帮我这样获取内容?并在这里提及我做错了什么?

【问题讨论】:

  • 嗯,是的,您不能分配给函数调用。目前还不清楚您期望的结果是什么……
  • undefined = "Content"。这就是您的代码所做的(假设第一行是在对象实例上调用的)。这是不可能的。
  • myarr 是什么?构造函数?
  • 你认为myarr.value(1,2)="Content";应该怎么做?
  • 我正在尝试将 [1,2] 的数组值分配为“内容”,我不清楚获取变量。

标签: javascript function prototype variable-assignment assign


【解决方案1】:

什么是 myarr ?它是一种矩阵吗?你是如何创建它的?

据我了解,您有一个矩阵,并且您想使用坐标设置值...如果您想使用这样的原型,它将无法工作...您必须创建一个 Matrix 对象并添加为其原型赋值方法。类似的东西

var Matrix = function(/*Some initializers*/){
  // Initialize the matrix
}

Matrix.prototype.setValue = function(x, y, value){
  // return something
}

// Then you use it like that
var mymatrix = new Matrix();

myMatrix.setValue(2, 12, 'someValue');

但重要的是您必须定义如何构建矩阵以及如何访问元素...希望对您有所帮助

【讨论】:

  • 这就是我正在做的,但不想像传递参数那样以这种方式获取内容,我需要获取像“myMatrix.setValue(2,12) = “SomeValue”这样的内容/跨度>
  • 你“需要”?你想达到什么目的?这样做有什么问题?除非您执行以下操作,否则您将无法这样做: myMatrix[2][12] = 'someValue'... 但这意味着您根本不使用原型
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-21
  • 2011-01-20
  • 2015-07-24
  • 1970-01-01
  • 1970-01-01
  • 2018-05-25
  • 1970-01-01
相关资源
最近更新 更多