javascript - SyntaxError : Unexpected token '=' . 参数声明后应为 ')' 或 ','。在 Safari

标签 javascript php jquery safari

我将一些 JS 代码混淆在一起,这些代码似乎在 firefox 中工作(没有错误并且功能正常)但抛出了“SyntaxError: Unexpected token '='”。参数声明后应为“)”或“,”。在 Safari 。 我在 php 中有以下对象

$items = Array ( [0] => stdClass Object ( [id] => 1 [class] => class_a [make] => Kia [model] => Picanto [features] => 3,4,5,6,7,8 [colour] => white [engine] => 1000cc [ordering] => 1 [published] => 1 [image] => images/vehicles/picanto.jpg ) [1] => stdClass Object ( [id] => 2 [class] => motorbike [make] => Honda [model] => Transalp [features] => [colour] => blue [engine] => 650cc [ordering] => 6 [published] => 1 [image] => ) [2] => stdClass Object ( [id] => 3 [class] => moped [make] => Sym [model] => SR [features] => [colour] => white [engine] => 150cc [ordering] => 5 [published] => 1 [image] => ) [3] => stdClass Object ( [id] => 4 [class] => class_b [make] => Suzuki [model] => Splash [features] => 12 [colour] => Red [engine] => 1300cc [ordering] => 3 [published] => 1 [image] => images/vehicles/suzuki_splash.jpg ) [4] => stdClass Object ( [id] => 5 [class] => class_f [make] => Peugot [model] => 307 Cabrio [features] => 8,9,10,11 [colour] => Black [engine] => 1600cc [ordering] => 4 [published] => 1 [image] => images/vehicles/peugeot307.jpg ) [5] => stdClass Object ( [id] => 6 [class] => class_a [make] => Hyundai [model] => Atos [features] => [colour] => white [engine] => 1100cc [ordering] => 2 [published] => 1 [image] => images/vehicles/atos.jpg ) )

和下面的javascript

<script type="text/javascript">
jQuery(document).ready(function($){
    var items = <?PHP echo json_encode($items)?>;
    console.log(items);
    for (var i = 0, len = items.length; i < len; i++) {
        lookup[items[i].id] = items[i];     //access the new lookup object using lookup[id].variable i.e lookup[1].image
    }
    var vId ="";
    function updateImg(img, display=true){
        if (display == true){
            $("#vehicle-image").show(500);
        }else{
            $("#vehicle-image").hide(500);
        }

        $("#vehicle-image").attr("src", '/'+ img);

    }
    $('#jform_vehicle').on('change', function() {
        var vId = parseInt(($("#jform_vehicle").chosen().val()));
        console.log (vId);
        if (isNaN(vId) !==true){
            var img = lookup[vId].image;
            console.log ('img=' + img);
            updateImg(img);
        }else{
            console.log('not a number');
            var img = "";
            updateImg(img, false)
        }
    });
});
</script>

在浏览器中json_encode行如下

var items = [{"id":"1","class":"class_a","make":"Kia","model":"Picanto","features":"3,4,5,6,7,8","colour":"white","engine":"1000cc","ordering":"1","published":"1","image":"images\/vehicles\/picanto.jpg"},{"id":"2","class":"motorbike","make":"Honda","model":"Transalp","features":"","colour":"blue","engine":"650cc","ordering":"6","published":"1","image":""},{"id":"3","class":"moped","make":"Sym","model":"SR","features":"","colour":"white","engine":"150cc","ordering":"5","published":"1","image":""},{"id":"4","class":"class_b","make":"Suzuki","model":"Splash","features":"12","colour":"Red","engine":"1300cc","ordering":"3","published":"1","image":"images\/vehicles\/suzuki_splash.jpg"},{"id":"5","class":"class_f","make":"Peugot","model":"307 Cabrio","features":"8,9,10,11","colour":"Black","engine":"1600cc","ordering":"4","published":"1","image":"images\/vehicles\/peugeot307.jpg"},{"id":"6","class":"class_a","make":"Hyundai","model":"Atos","features":"","colour":"white","engine":"1100cc","ordering":"2","published":"1","image":"images\/vehicles\/atos.jpg"}];

这看起来是正确的,所以我不知道是什么导致了错误。有任何想法吗? 干杯。

Safari 指出代码中的一个错误 safari error

最佳答案

如果你有这样的功能改变这些

 function abc(a=2){
 }

点赞

 function abc(a){
  if(a === undefined){
    a = 2;
  }
 }

Safari 不允许在函数中这样赋值,在第一个上面。

关于javascript - SyntaxError : Unexpected token '=' . 参数声明后应为 ')' 或 ','。在 Safari ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37394980/

相关文章:

javascript - 不循环获取组中单选按钮的输入值

javascript - 我怎样才能解决这个JavaScript数学问题?

php - 为什么以及如何在 PHP 中使用匿名函数?

php - 根据选择框中的选择显示文本

javascript - 单击 jQuery 中的文本时如何允许单个更改 css 样式?

javascript - EJS 从 MySQL 获取特定数据

javascript - NVDA读出datepicker当前单元格选择位置

javascript - JS 插入后选择元素

php - 如何从 sql 数据库的一列填充 php 数组?

javascript - 无法使用 jquery 获取内联变换比例