繁体   English   中英

在javascript上重构对象方法

[英]refactoring object methods on javascript

我有一个对象make = {}; 我创建了对象方法(make.a(),make.h1()),其中每个方法都会创建一个标记元素

我创造了什么,我做了的jsfiddle: 这里

我想创建许多这样的标签元素。

有什么办法避免重复

    return document.createElement('tagName');

每一次?

您可以将标签名称传递给函数。

  var make = {};

make.el = function(elem) {
    return document.createElement(elem);
};



var h1 = make.el('h1');
h1.innerHTML = 'Hello World';
document.body.appendChild(h1);

var a = make.el('a');
a.href = 'http://jsfiddle.net';
a.innerHTML = 'JSFiddle';
document.body.appendChild(a);

http://jsfiddle.net/hpep8rfj/1/

一种方法是使用eval命令,尽管不建议使用。

var make = {};

var tags = "a,h1,h2,h3,p,div,span";   // and so on

var arr = tags.split(",");
for (var i=0; i<arr.length; i++) {
    eval (" make[arr[i]] = function (){return document.createElement('"+arr[i]+"')};");
}


var h1 = make.h1();
h1.innerHTML = 'Hello World';
document.body.appendChild(h1);

参见http://jsbin.com/xodiwenepa/1/edit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM