我有一个带有可变数量参数的JS对象。是否有一种方法可以查看这次传递了哪些参数?
示例:
function getElement() {
var scope = document;
this.by = function(data){
if (data.id) scope = scope.getElementById(data.id);
if (data.tag) scope = scope.getElementsByTagName(data.tag);
return scope;
}
}
我这样运行它
var x = new getElement();
vad div = x.by({id : "chosenID"});
获取ID为chosenID
的div元素。
或者
var x = new getElement();
vad inputs = x.by({id : "chosenID", tag : "input"});
获取具有id为chosenID
的div中的所有inputs
;
我想知道我传递了一个还是两个参数,以及它们是哪些。
谢谢!
附言:感谢您花时间帮助我,但请不要建议使用jQuery或其他JS框架,因为这仅用于学习目的。非常感谢,Sorin。
for (var prop in data)
吗? - Sam Selikoffprop
已经使用var
声明为局部作用域。 - Marcel Korpelfor (var prop in data)
是var prop; for (prop in data)
的简写形式。 - Marcel Korpelfor(prop in data)
不是默认认为每个prop
都存在于data
中吗?为什么要进行检查? - Sean Kendledata
拥有或继承。来自MDN:“此方法可用于确定对象是否具有该对象的直接属性作为指定属性;与in
运算符不同,此方法不会沿着对象的原型链向下检查。” - Marcel Korpel