data = (new Function("return" + data))()为什么会返回数组?
最近看到这么个写法 data = (new Function("return" + data))();,感觉有点不理解,为什么 data 会被返回一个数组,于是研究了下,请看代码
<script> 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] </script>
其实直接 JSON.parse(data) 更方便一些
赞 (0)