如何缩短重复的 javascript php 代码
how to shorten a repetitive javascript php code
我是 javascript 的新手。请帮忙解决以下问题。我有一个重复的代码块,大约有 40 "cases" 几乎相同的代码 - 它采用 wordpress do_shortcode 的返回值并保存到 javascript 变量(这部分工作正常)。
我想通过某种实现相同功能的代码循环来缩短它。我尽量不使用 COOKIE 来传值给 PHP。
请参阅示例第 1 行:
switch (id) {
case 1: oh = `<?php echo do_shortcode("[block id=\"oh1\"]"); ?>`;break;
case 2: oh = `<?php echo do_shortcode("[block id=\"oh2\"]"); ?>`;break;
case 3: oh = `<?php echo do_shortcode("[block id=\"oh3\"]"); ?>`;break;
case 4: oh = `<?php echo do_shortcode("[block id=\"oh4\"]"); ?>`;break;`
...
}
jQuery('#id').html(oh);
我必须像上面那样指定 40 行,但还没有找到其他方法。请分享您的宝贵意见。谢谢
这个怎么样(我假设你的开关在 Javascript)。
oh = '<?php echo do_shortcode("[block id=\"oh_num\"]"); ?>'.replace('_num', yourVariableInSwitch) ;break;`
在这种情况下,您甚至不需要 switch 语句。
如果你必须做40次:
for (var i = 0; i < 40; i++) {
console.log('<?php echo do_shortcode("[block id=\"oh_num\"]"); ?>'.replace('_num', i);
}
使用 PHP
渲染 javascript 的 switch case 语句
switch (yourVariable) {
<?php
for ($i = 1; $i < 41; $i++) {
print 'case ' . $i . ': oh = ' . do_shortcode("[block id=oh'" . $i . "']") . '; break;';
}
?>
}
使用 ES6 string interpolation
const myNumber = 2;
const oh = `<?php echo do_shortcode("[block id=\"oh${myNumber}\"]"); ?>`;
console.log(oh);
全部完成 PHP:
<?php
for($i=1,$l=41; $i<$l; $i++){
echo "case $i: oh = ".do_shortcode("[block id='oh$i']").' break;'
}
?>
我是 javascript 的新手。请帮忙解决以下问题。我有一个重复的代码块,大约有 40 "cases" 几乎相同的代码 - 它采用 wordpress do_shortcode 的返回值并保存到 javascript 变量(这部分工作正常)。
我想通过某种实现相同功能的代码循环来缩短它。我尽量不使用 COOKIE 来传值给 PHP。 请参阅示例第 1 行:
switch (id) {
case 1: oh = `<?php echo do_shortcode("[block id=\"oh1\"]"); ?>`;break;
case 2: oh = `<?php echo do_shortcode("[block id=\"oh2\"]"); ?>`;break;
case 3: oh = `<?php echo do_shortcode("[block id=\"oh3\"]"); ?>`;break;
case 4: oh = `<?php echo do_shortcode("[block id=\"oh4\"]"); ?>`;break;`
...
}
jQuery('#id').html(oh);
我必须像上面那样指定 40 行,但还没有找到其他方法。请分享您的宝贵意见。谢谢
这个怎么样(我假设你的开关在 Javascript)。
oh = '<?php echo do_shortcode("[block id=\"oh_num\"]"); ?>'.replace('_num', yourVariableInSwitch) ;break;`
在这种情况下,您甚至不需要 switch 语句。
如果你必须做40次:
for (var i = 0; i < 40; i++) {
console.log('<?php echo do_shortcode("[block id=\"oh_num\"]"); ?>'.replace('_num', i);
}
使用 PHP
渲染 javascript 的 switch case 语句switch (yourVariable) {
<?php
for ($i = 1; $i < 41; $i++) {
print 'case ' . $i . ': oh = ' . do_shortcode("[block id=oh'" . $i . "']") . '; break;';
}
?>
}
使用 ES6 string interpolation
const myNumber = 2;
const oh = `<?php echo do_shortcode("[block id=\"oh${myNumber}\"]"); ?>`;
console.log(oh);
全部完成 PHP:
<?php
for($i=1,$l=41; $i<$l; $i++){
echo "case $i: oh = ".do_shortcode("[block id='oh$i']").' break;'
}
?>