

最近看到这么个写法 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) 更方便一些
浙公网安备 33010602011771号