var function1Name=“test_function”; var function1Url=“ https://www.google.com "; var function1Class=“.test_function_class”; 函数${function1Name}(){ window.open(function1Url,“_blank”,“height=200”); } jQuery(“${function1Class}”)点击(function(){ ${function1Name}() });
-
感谢编辑@Cerbrus! – 罗布 评论 2019年3月21日9:57 -
1 1 函数${function1Name}() 不是有效语法。 函数名必须在运行时之前定义。 2.字符串插值仅适用于模板文字,因此需要用反勾号分隔字符串: ` . 然而 这里是完全多余的,因为你可以直接使用 $(函数1类) – 罗里·麦克罗桑 评论 2019年3月21日9:57 -
1.好的,所以不可能在变量中定义函数名。 谢谢,这在这里应该没有问题。 – 罗布 评论 2019年3月21日10:00 -
2.我从大量的谷歌搜索和反复试验中找到了一个工作脚本。 我对Javascript一无所知,在我理解你在这里所说的之前,你的答案包括了我需要谷歌的很多东西,哈哈。 但是谢谢你抽出时间帮我! – 罗布 评论 2019年3月21日10:02 -
我为您添加了一个答案,解释了问题并为您提供了解决方案。 – 罗里·麦克罗桑 评论 2019年3月21日10:03
3个答案
window[function1Name]=函数(){ window.open(function1Url,“_blank”,“height=200”); }
jQuery(function1Class).click(function(){//注意,我只是在那里使用了变量。 窗口[function1Name](); });
const myVariable=“Foo”; const消息=`myVariable包含:“${myVariable}”!`; console.log(消息);
var function1Name=“test_function”; var function1Url=“ https://www.google.com "; var function1Class=“.test_function_class”; var函数对象={ [function1Name]:函数(){ log(`function called,此处将打开包含${function1Url}…`的窗口); //window.open(function1Url,“_blank”,“height=200”); } } $(function1Class).单击(function(){ funcObj[function1Name]() }); /* 另一种方法是使用模板文字,但请注意,在这里它是多余的 $(`${function1Class}`).单击(function(){ funcObj[函数名称]() }); */
<script src=“ https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js “></script> 单击我</a>
var function1Name=“test_function_1”; var function1Url=“ https://www.google.com "; var function1Class=“.test_function_class1”; var function2Name=“test_function_2”; var函数2Url=“ https://www.cnn.com "; var function2Class=“.test_function_class2”; //功能1 window[function1Name]=函数(){ window.open(function1Url,“_blank”,“toolbar=no,status=no,scrollbars=yes,resizable=yes;top=500,left=500,width=600,height=745”); } jQuery(function1Class)点击(function(){ 窗口[function1Name](); }); //功能2 window[function2Name]=函数(){ window.open(function2Url,“_blank”,“toolbar=no,status=no,scrollbars=yes,resizable=yes,top=500,left=500,width=600,height=745”); } jQuery(function2Class)点击(function(){ 窗口[function2Name](); });
var窗口宽度=250 var function1Name=“test_function_1”; var function1Url=“ https://www.google.com "; var function1Class=“.test_function_class1”; var function2Name=“test_function_2”; var function2Url=“ https://www.cnn.com "; var function2Class=“.test_function_class2”; //功能1 window[function1Name]=函数(){ window.open(function1Url,“_blank”,“toolbar=no,status=no,scrollbars=yes,resizable=yes;top=500,left=500,width=[windowWidth],height=745”); } jQuery(function1Class)点击(function(){ 窗口[function1Name](); }); //功能2 window[function2Name]=函数(){ window.open(function2Url,“_blank”,“toolbar=no,status=no,scrollbars=yes,resizable=yes,top=500,left=500,width=600,height=745”); } jQuery(function2Class)点击(function(){ 窗口[function2Name](); });