我正在构建一个大型对象,最终将由一个单独的库处理。对象中有重复的结构元素,它们采用不同的参数,所以我希望编写一个能让我自动完成这个过程的函数。
function addTable(headline) {
var table = { header: headline, ... }
}
但是当我尝试访问对象中的函数参数时,我收到错误。也就是说,我不能在对象中使用headline
。如何访问这些参数?或者这是错误的做法?
更新
看起来这是处理对象的库的一个问题,但其他东西很奇怪。如果我这样做:
var table = { header: ""+headline+"" ... }
它起作用。但我不明白。 headline
和""+headline+""
都是字符串。可能是以空引号开头和结尾的字符串与不引用的字符串之间的区别是什么?
答案 0 :(得分:0)
如果将它们传递给方法,您应该能够访问它们,但是也可以从调用者传入未定义的内容。
使用F12工具检查参数和callstack
function addTable(headline) {
// headline is undefined if its not passed
// headline can also be passed in as null or undefined
// headline == arguments[0];
// if nothing is passed then arguments.length should equal 0
// add a F12 breakpoint and inspect all arguments and the callstack
var table = { header: headline, ... }
}