在字符串中执行javascript函数

在字符串中执行javascript函数,javascript,html,Javascript,Html,除了下面指定的代码之外,还有更好的方法将动态文本注入html字符串吗 变量代码='siteCode1' html代码作为字符串: existing: '<p>Log in with your'+ eval("siteVarObj('+code+').siteName") +'account</p>', function siteVarObj(siteCode){ if(siteCode === 'siteCode1'){

除了下面指定的代码之外,还有更好的方法将动态文本注入html字符串吗

变量代码='siteCode1'

html代码作为字符串:

existing: '<p>Log in with your'+ eval("siteVarObj('+code+').siteName") +'account</p>',


function siteVarObj(siteCode){
            if(siteCode === 'siteCode1'){
                this.siteName = 'google.com';
                this.siteContactUsURL = '';
            }else if(siteCode === 'siteCode2'){
                this.siteName = 'stackoverflow.com';
                this.siteContactUsURL = '';
            }
            return this;
        }
existing:“使用您的“+eval”(“+code+”).siteName”)+”帐户登录,
函数siteVarObj(siteCode){
如果(siteCode=='siteCode1'){
this.siteName='google.com';
this.sitecontsurl='';
}否则如果(siteCode=='siteCode2'){
this.siteName='stackoverflow.com';
this.sitecontsurl='';
}
归还这个;
}

这应该可以正常工作:

var code = 'siteCode1';
var myHTMLString = '<p>Log in with your '+ siteVarObj(code).siteName + ' account</p>';
var代码='siteCode1';
var myHTMLString='使用您的'+siteVarObj(代码).siteName+'帐户登录;

这应该可以正常工作:

var code = 'siteCode1';
var myHTMLString = '<p>Log in with your '+ siteVarObj(code).siteName + ' account</p>';
var代码='siteCode1';
var myHTMLString='使用您的'+siteVarObj(代码).siteName+'帐户登录;

我通常建议避免执行eval中的任何输入,因为
eval在正确使用时会打开注入攻击代码。

我通常建议避免执行eval中的任何输入,因为 eval在正确使用时会打开代码进行注入攻击