通过函数

时间:2018-05-20 22:59:23

标签: javascript object key-value

作为练习,我正在尝试编写一个名为getValue()的函数,该函数有两个参数objkey

这与通过其属性获取对象的索引无关。

该函数应传入对象的名称(obj)和对象属性的名称(key),返回与该属性关联的值。如果没有值(即对象中不存在该属性),则getValue()应返回undefined。只要命名属性确实存在,该函数就应该返回其关联值。

我编写了一个有效的函数,但仅当该属性名为key时才有效。这当然不是我的想法。

function getValue(obj, key) {
	this.obj = {};
	this.key = obj.key;
	const val = function() {
		return obj.key;
	};
	return val();
}

var theObject = {nokey: 'my_value'};
var output = getValue(theObject, 'nokey');
console.log(output);
// --> 'should return 'my_value' but
// but returns undefined

1 个答案:

答案 0 :(得分:2)

由于您传递了对象本身,只需使用括号表示法访问该属性:

<body padding="8mm 13mm 8mm 13mm" size="A4">
<#if record.item?has_content>
<table class="itemTable" width="100%"><!-- start items --><#list record.item 
as item><#if item_index==0>
<thead>
<tr>
<th colspan="6"  class="itemHeader"      align="left" padding-    
bottom="8px">Code</th>
<th colspan="6"  class="itemHeader"  align="left" padding-bottom="8px" 
padding-left="10px">Qty</th>
<th colspan="6"  class="itemHeader"      align="left" padding- 
bottom="8px">Units</th>
<th colspan="18" class="itemHeader"  align="left" padding-bottom="8px" 
padding-left="15px">Product Description</th>
<th colspan="8"  class="itemHeader"  align="left" padding-bottom="8px">Unit 
Price</th>
<th colspan="8"  class="itemHeaderEnd" align="left" padding-bottom="8px" 
padding-left="10px">Amount</th>
</tr>
</thead>
<!-- Print items -->
</#if><tr>
<td colspan="6"  class="itemDetail"     align="left"><@printCode item.item 
/></td>
<td colspan="6"  class="itemDetail"     align="left" padding- 
left="20px">${item.quantity}</td>
<td colspan="6"  class="itemDetail"     align="center">${item.units}</td>
<td colspan="18" class="itemDetail"     align="left" letter-spacing= "0px" 
padding-left="15px" padding-right="50px">${item.description}</td>
<td colspan="8"  class="itemDetail"     align="left"  padding-left="20px"> 
<#if item.rate?is_number>${item.rate?string("#,##0.00")}<#else>${item.rate} 
</#if></td>
<td colspan="8"  class="itemDetailEnd"  align="left"  padding-left="30px"> 
<#if item.amount?is_number>${item.amount?string("#,##0.00")} 
<#else>${item.amount}</#if></td>
</tr>
</#list><!-- end items --></table>
</#if>