SyntaxError:let是firefox上的保留标识符

Ras*_*med 1 javascript firefox

我在下面使用这些代码

'use strict';

jQuery(document).ready(function($) {
    function CMB2ConditionalsInit(context) {
        if(typeof context === 'undefined') {
            context = 'body';
        }

        $('[data-conditional-id]', context).each(function(i, e) {
            var $e = $(e),
                id = $e.data('conditional-id'),
                value = $e.data('conditional-value');

            var $element = $('[name="' + id + '"]'),
                $parent = $e.parents('.cmb-row:first').hide();

            $e.data('conditional-required', $e.prop('required')).prop('required', false);

            $element
                .on('change', function(evt){
                    let conditionValue = CMB2ConditionalsStringToUnicode(evt.currentTarget.value);

                    if(typeof value === 'undefined') {
                        CMB2ConditionalToggleRows('[data-conditional-id="' + id + '"]', ($element.val() ? true : false));
                    } else {
                        CMB2ConditionalToggleRows('[data-conditional-id="' + id + '"]:not([data-conditional-value="' + conditionValue + '"])', false);
                        CMB2ConditionalToggleRows('[data-conditional-id="' + id + '"][data-conditional-value="' + conditionValue + '"]', true);
                        CMB2ConditionalToggleRows('[data-conditional-id="' + id + '"][data-conditional-value*=\'"' + conditionValue + '"\']', true);
                    }
                });

            if($element.length === 1) {
                $element.trigger('change');
            } else {
                $element.filter(':checked').trigger('change');
            }
        });
    }

    function CMB2ConditionalsStringToUnicode(string){
        let result = '', map = ["Á", "?","?","?","?","?","?","?","Â","?","?","?","?","?","Ä","?","?","?","?","?","À","?","?","?","?","Å","?","?","?","Ã","?","Æ","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","Ç","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","É","?","?","?","?","Ê","?","?","?","?","?","?","Ë","?","?","?","È","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","Í","?","?","Î","Ï","?","?","?","?","Ì","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","Ñ","?","Ó","?","?","Ô","?","?","?","?","?","Ö","?","?","?","?","?","?","Ò","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","Ø","?","Õ","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","Š","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","Ú","?","?","Û","?","Ü","?","?","?","?","?","?","?","?","Ù","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","Ý","?","Ÿ","?","?","?","?","?","?","?","?","?","?","Ž","?","?","?","?","?","?","?","?","Œ","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","á","?","?","?","?","?","?","?","â","?","?","?","?","?","ä","?","?","?","?","?","à","?","?","?","?","?","?","å","?","?","?","ã","?","æ","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","ç","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","é","?","?","?","?","ê","?","?","?","?","?","?","ë","?","?","?","è","?","?","?","?","?","?","?","?","?","?","?","?","?","ƒ","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","í","?","?","î","ï","?","?","?","ì","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","ñ","?","ó","?","?","ô","?","?","?","?","?","ö","?","?","?","?","?","?","ò","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","ø","?","õ","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","š","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","ú","?","?","û","?","ü","?","?","?","?","?","?","?","?","ù","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","ý","?","ÿ","?","?","?","?","?","?","?","?","?","?","?","ž","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","?","œ","?","?","?","?","?","?","?","?","?","?"];

        for(let i = 0; i < string.length; i++){
            if(jQuery.inArray(string[i], map) === -1) {
                result += string[i]
            } else {
                result += "\\\\u" + ("000" + string[i].charCodeAt(0).toString(16)).substr(-4);
            }
        }

        return result;
    };

    function CMB2ConditionalToggleRows(obj, showOrHide){
        var $elements = (obj instanceof jQuery) ? obj : $(obj);

        return $elements.each(function(i, e) {
            let $e = $(e);

            $e.prop('required', showOrHide && $e.data('conditional-required'));

            $e.parents('.cmb-row:first').toggle(showOrHide);
        });
    }

    CMB2ConditionalsInit('#post');
});
Run Code Online (Sandbox Code Playgroud)

但它在下面给我错误

在此输入图像描述

在搜索了stackoverflow之后,我得知它在firefox上不起作用.有没有办法解决它?

BTW,其他浏览器工作正常.提前致谢.

Dom*_*nic 6

如你所见let,FF尚不支持关键字:https://kangax.github.io/compat-table/es6/

您需要将其更改为var或使用babel转换代码

  • Firefox支持`let`.但是您需要将JavaScript版本更改为1.7+. (2认同)