如何将文本文件的内容读取为Javascript



我想在javascript中编写一个读取文本文件的函数,如果它在该文本文件中包含任何javascript函数,那么我的函数将读取为javascript,而不是仅将其作为文本读取。

类似:

const toBeRead = () => true; //This function is in text file

上面的函数在文本文件中,我想把它读成javascript。目前,我将其作为字符串读取,但希望从中获得true的输出。

编辑以获得更好的演示。这是我使用eval((后的函数

function readSingleFile(evt) {
var f = evt.target.files[0];
if (f) {
var r = new FileReader();
r.onload = function (e) {
var contents = e.target.result;
var ct = r.result;
var words = ct.split("n");
let array = [];
words.map((word) => {
if (word.substring(0, 6) === "const ") {
if (word.includes("=>")) {
if (word.includes("=")) {
alert(word);       //It shows const toBeRead=()=>true;
alert(eval(word)); // It shows undefined
array.push(word);
}
}
}
return array;
});
alert(array);
};
r.readAsText(f);
} else {
alert("Failed to load file");
}
}

实际上,我正在为编码约定创建一个规则,比如如果函数返回布尔值,那么它应该以"开头;是/已经是";。类似const isFuncTrue=((=>真实;没有在Eslint中定义规则!

两种方法

  1. eval(jsstr)-不推荐
  2. 脚本:

浏览器中的示例-如果没有DOM ,将不会运行

const str = `const toBeRead = () => true; //This function is in text file`
const scr = document.createElement("script")
scr.textContent = str;
document.body.appendChild(scr)
console.log(toBeRead())

相关内容

  • 没有找到相关文章