data = (new Function("return" + data))()为什么会返回数组?_数组
data = (new Function("return" + data))()为什么会返回数组?_数组_02

 

 最近看到这么个写法 data = (new Function("return" + data))();,感觉有点不理解,为什么 data 会被返回一个数组,于是研究了下,请看代码

    function data1() {            return [1, 2, 3]
        }        // 等价于
        const data2 = function() {                return [1, 2, 3]
            }        // 等价于
        const data3 = new Function('return [1, 2, 3];');        // 等价于
        let data = '[1, 2, 3]';
        let data4 = new Function('return ' + data);        // 输出的都是 [1, 2, 3]
    " _ue_custom_node_="true">

其实直接  JSON.parse(data) 更方便一些