【发布时间】:2016-12-22 05:56:23
【问题描述】:
所以我在这里有这段代码,我想用它来动态制作元素,但它不起作用:
make = {};
elements = ['a', 'div', 'span', 'form', 'h1', 'h2', 'h3', 'h4'];
elements.forEach(function(element){
make[element] = function() {
document.createElement(element);
}
})
但是,当我这样做时:
var h1 = make.h1();
我得到未定义...谁能解释为什么我传递给 createElement 函数的元素参数不起作用?我检查了这个以进行干燥和调试,我注意到 make 对象具有所有正确的属性和相应的函数,但是 createElement 函数似乎没有保留我要传递的元素的正确值。
免责声明:我知道我可以使用大量的库,但我这样做是为了学习和理解。感谢任何花时间向我解释这一点的人。 :]
【问题讨论】:
标签: javascript functional-programming closures