Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.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 - Fatal编程技术网

动态创建变量名的JavaScript警报

动态创建变量名的JavaScript警报,javascript,Javascript,我得到了以下代码: var image1 = 'aaa.jpg'; var image2 = 'bbb.jpg'; var image3 = 'ccc.jpg'; var image4 = 'ddd.jpg'; // all dynmically created current = 1; // dynamically changing value, in this case between 1 and 4 我现在需要的是提醒alert(image1)但按此方式:警报(图像+当前) 这样可能吗

我得到了以下代码:

var image1 = 'aaa.jpg';
var image2 = 'bbb.jpg';
var image3 = 'ccc.jpg';
var image4 = 'ddd.jpg'; // all dynmically created

current = 1; // dynamically changing value, in this case between 1 and 4
我现在需要的是提醒
alert(image1)但按此方式:
警报(图像+当前)


这样可能吗?我希望我清楚地解释了我需要什么。

从我的观点来看,我认为你走的是正确的道路。但是这里有一些要考虑的事情……<
  • 将动态创建的变量置于引号中,使其成为字符串:
  • var image1='aaa.jpg'

  • 当你在警告框中输入时,也在引号中加上“图像”一词。这样,它也将是一个字符串:
  • alert(eval('image'+current))

  • 警报框实际上不会显示图像。它将只显示存储在变量中的图像的名称。我想这就是你想要的
  • 祝你好运


    我看到你编辑了这个问题,把它作为动态变量加了引号。干得好。

    我通过一位用户发布并删除其答案的方式解决了这个问题(为什么?)

    这样做:

    this.image1 = "aaa.jpg";
    
    alert(this["image" + "1"]);
    

    正如注释中所建议的,并基于注释中的PHP代码:创建一个JavaScript数组来存储数据,而不是创建大量变量。例如,您可以这样完成:

    创建包含所有图像的字符串

    <?php
        $images = '';
        while($row = mysqli_fetch_assoc($result)) {
            $images .= ( $images ? ',' : '' ) . '"' . $row['image'] . '"';
        }
    ?>
    
    
    
    输出

    var images = [<?php print $images; ?>];
    alert (images[0]);
    
    var-images=[];
    警报(图像[0]);
    
    很明显,您正在使用一个集合,因此在这种情况下,您应该创建一个数组结构:

    <?php 
    
    $images = [];
    while ($row = mysqli_fetch_assoc($ergebnis)) {
        $images[] = $row['image'];
    }
    
    ?>
    <script type="text/javascript">
    var images = <?php echo json_encode($images) ?>;
    </script>
    
    
    var图像=;
    

    然后,您可以通过引用每个图像路径,例如,
    images[0]

    1:我做了oO 2:它会提醒“image1”,但不会提醒image1的值3:wth XD这也是一个很好的解决方案Jack,使用PHP创建不容易,但会起作用:DHO您当前如何使用PHP创建变量?看起来有点像。像那样:那也行,所以我接受:)
    <?php 
    
    $images = [];
    while ($row = mysqli_fetch_assoc($ergebnis)) {
        $images[] = $row['image'];
    }
    
    ?>
    <script type="text/javascript">
    var images = <?php echo json_encode($images) ?>;
    </script>