我有一个对象
bigRow = {size:'long', color:'pink'};
我们说我有另一个对象table
,它具有row
属性,例如
table = {
row: 'bigRow',
column: 'smallColumn'
};
我可以通过对象' bigRow'作为使用table
属性值作为参考的函数的参数?
我可以写一些像
这样的东西吗?function ( table.row )
就像
一样function ( bigRow )
尽管两者都是function( bigRow )
,但前者是一个字符串而没有任何与对象的连接
答案 0 :(得分:2)
我不认为这样可能。但是,您可以将bigRow
放在另一个对象中,如下所示:
var rowTypes = {
bigRow : {size:'long', color:'pink'},
//other rows if necessary...
}
然后使用字符串作为标识符访问rowTypes
对象的成员:
function ( rowTypes[table.row] )
答案 1 :(得分:1)
是的,你可以但是你应该使用“this”关键字将对象设置为当前文档的属性。
<!DOCTYPE html>
<html>
<body>
<div id="demo"></div>
</body>
</html>
<script>
this.bigRow = {size:'long', color:'pink'};
this.table = {
row: 'bigRow',
column: 'smallColumn'
};
function myFunction(myRow){
document.getElementById('demo').innerHTML = myRow.size;
console.log(myRow);
}
myFunction(this[table.row]);
</script>
答案 2 :(得分:0)
我遇到了answer to a similar question。显然,如果两个对象都是全局的,这将起作用:
function ( this[ table.row ] )