Since eval is not good with the performance, I would like to know if there is any way to remove the eval in this code for some other code. The objective is to be able to create SVG elements via a function. The current method is by using an eval to create the element.
function createrect(createrectvar1 , createrectvar2 , createrectvar3 , createrectvar4 , createrectvar5 , createrectvar6 , createrectvar7 , createrectvar8 , createrectvar9 , createrectvar10 , createrectvar11) {
/** id , x , y , rx , width , height , fill , stroke , stroke w , svgid , onclick **/
if (createrectvar11 == "_") {
eval(createrectvar1 + " = document.createElementNS('http://www.w3.org/2000/svg', 'rect') ; " + createrectvar1 + ".setAttribute('x' , " + createrectvar2 + ") ; " + createrectvar1 + ".setAttribute('y' , " + createrectvar3 + ") ; " + createrectvar1 + ".setAttribute('rx' , " + createrectvar4 + ") ; " + createrectvar1 + ".setAttribute('width' , " + createrectvar5 + ") ; " + createrectvar1 + ".setAttribute('height' , " + createrectvar6 + ") ; " + createrectvar1 + ".setAttribute('fill' , '" + createrectvar7 + "') ; " + createrectvar1 + ".setAttribute('stroke' , '" + createrectvar8 + "') ; " + createrectvar1 + ".setAttribute('stroke-width' , '" + createrectvar9 + "') ; " + createrectvar10 + ".appendChild(" + createrectvar1 + ") ; ") ;
} else {
eval(createrectvar1 + " = document.createElementNS('http://www.w3.org/2000/svg', 'rect') ; " + createrectvar1 + ".setAttribute('x' , " + createrectvar2 + ") ; " + createrectvar1 + ".setAttribute('y' , " + createrectvar3 + ") ; " + createrectvar1 + ".setAttribute('rx' , " + createrectvar4 + ") ; " + createrectvar1 + ".setAttribute('width' , " + createrectvar5 + ") ; " + createrectvar1 + ".setAttribute('height' , " + createrectvar6 + ") ; " + createrectvar1 + ".setAttribute('fill' , '" + createrectvar7 + "') ; " + createrectvar1 + ".setAttribute('stroke' , '" + createrectvar8 + "') ; " + createrectvar1 + ".setAttribute('stroke-width' , '" + createrectvar9 + "') ; " + createrectvar1 + ".setAttribute('onclick' , '" + createrectvar11 + "()') ; " + createrectvar10 + ".appendChild(" + createrectvar1 + ") ; ") ;
}
}