Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以文本形式运行并显示代码,无需重复_Javascript_Jquery - Fatal编程技术网

Javascript 以文本形式运行并显示代码,无需重复

Javascript 以文本形式运行并显示代码,无需重复,javascript,jquery,Javascript,Jquery,我想将javascript代码存储在一个对象中,然后在用户单击按钮时运行其中的一部分。到目前为止,我有: var exampleCode = { test: "$('body').css('background: pink');" } $(document).ready(function(){ console.log(exampleCode.test); exampleCode.test; }); 我有两个问题,第一个是,如何让代码实际运行 第二个问题是,如果我想在ja

我想将javascript代码存储在一个对象中,然后在用户单击按钮时运行其中的一部分。到目前为止,我有:

var exampleCode = {
    test: "$('body').css('background: pink');"
}
$(document).ready(function(){
    console.log(exampleCode.test);
    exampleCode.test;
});
我有两个问题,第一个是,如何让代码实际运行

第二个问题是,如果我想在javascript中包含一些html,我该怎么做,比如下面的代码行:

$('body').append('<div class="whatever"></div>');
$('body')。追加(“”);
这将无法很好地处理对象值周围的双引号

我的目标是能够在同一页面上以文本形式运行和显示代码,而无需编写两次代码,因此如果您有其他建议,那就太好了。

您不能真正执行“代码字符串”,因此运行代码的唯一方法是:

var exampleCode = {
    test: function(){$('body').css('background', 'pink');}
}
$(document).ready(function(){
    console.log(exampleCode.test); //No "()" for the function
    exampleCode.test();
});
$('body').append(String(exampleCode.test))
在对象中保存函数并调用它

如果要附加函数的文本,可以执行以下操作:

var exampleCode = {
    test: function(){$('body').css('background', 'pink');}
}
$(document).ready(function(){
    console.log(exampleCode.test); //No "()" for the function
    exampleCode.test();
});
$('body').append(String(exampleCode.test))
这将附加函数,但不进行格式化

但是,您可以使用javascript函数
.replace()
进行一些格式化

//Really weak example, can be optimised
var txtCode = String(exampleCode.test)
txtCode = txtCode.replace(';', ';<br/>')
txtCode = txtCode.replace('{', '{<br/>')
txtCode = txtCode.replace('}', '}<br/>')
var code = $('<code/>').html(txtCode)
$('body').append(code)
//非常弱的示例,可以优化
var txtCode=String(exampleCode.test)
txtCode=txtCode.replace(“;”,“;
”) txtCode=txtCode.replace('{','{
')) txtCode=txtCode.replace('}','}
) var code=$('').html(txtCode) $('body')。追加(代码)

其他信息:您可以使用“\”转义字符

执行
alert('How's?')
将弹出警报“How's?”和
alert(“See that:\”!”)
将弹出警报“See that:”!”

您不能真正执行“字符串代码”,因此运行代码的唯一方法是:

var exampleCode = {
    test: function(){$('body').css('background', 'pink');}
}
$(document).ready(function(){
    console.log(exampleCode.test); //No "()" for the function
    exampleCode.test();
});
$('body').append(String(exampleCode.test))
在对象中保存函数并调用它

如果要附加函数的文本,可以执行以下操作:

var exampleCode = {
    test: function(){$('body').css('background', 'pink');}
}
$(document).ready(function(){
    console.log(exampleCode.test); //No "()" for the function
    exampleCode.test();
});
$('body').append(String(exampleCode.test))
这将附加函数,但不进行格式化

但是,您可以使用javascript函数
.replace()
进行一些格式化

//Really weak example, can be optimised
var txtCode = String(exampleCode.test)
txtCode = txtCode.replace(';', ';<br/>')
txtCode = txtCode.replace('{', '{<br/>')
txtCode = txtCode.replace('}', '}<br/>')
var code = $('<code/>').html(txtCode)
$('body').append(code)
//非常弱的示例,可以优化
var txtCode=String(exampleCode.test)
txtCode=txtCode.replace(“;”,“;
”) txtCode=txtCode.replace('{','{
')) txtCode=txtCode.replace('}','}
) var code=$('').html(txtCode) $('body')。追加(代码)

其他信息:您可以使用“\”转义字符


执行
alert('How's?')
将弹出警报“How's?”和
alert(“See that:\”!”)
将弹出警报“See that:!”

谢谢!(它不会让我只是说谢谢,除非我添加一些东西,这就是)我错过了你问题的一部分,我编辑了我的答案,将你的代码添加到你的页面。谢谢!(它不会让我只是说谢谢,除非我添加了什么,这就是为什么)我错过了你问题的一部分,我编辑了我的答案,将你的代码添加到你的页面。