eval 相关问题

eval是一个允许程序员从代码中的字符串变量执行以相同语言编写的任意代码的函数。

eval 导入模块

我无法使用 eval() 函数导入模块。 所以,我有一个函数,如果我导入 vfs_tests as v ,它就可以工作。但是,使用 eval() 进行相同的导入,如 eval('import vfs_tests as v') th...

回答 5 投票 0

Javascript .eval() 返回未定义

这是我的代码: <% @unit.attempts.order("created_at DESC").each do |attempt| %> &... 这是我的代码: <div class="row"> <div class="col-md-4 black"> <% @unit.attempts.order("created_at DESC").each do |attempt| %> <p><%= attempt.body %></p> <% end %> </div> <div class="col-md-4 run"> <div class="view-lines"> <h2>app.js</h2> <%= form_for [@unit, @attempt] do |f| %> <%= f.text_area :body,class: "editor"%> <%= f.submit "Run"%> <% end %> <script> $(document).ready(function(){ var code = $(".editor")[0]; var editor = CodeMirror.fromTextArea(code,{ lineNumbers: true, styleActiveLine: true, mode: "javascript", matchBrackets: true }) $('.view-lines').each(function(index,item) { var v= $(item).find('.editor').val(); alert(eval(v)); }); }) </script> 例如,如果我想在文本区域内添加 var favoriteFood = 'pizza'; console.log(favoriteFood); 我在警报中得到的结果 var favoriteFood = 'pizza'; console.log(favoriteFood); 我想在警报中运行我的示例中的 javascript 代码,它应该是披萨 我不确定您要在这里完成什么,但为了解决您的问题,您可以首先评估这些命令,假设它们填充给定的变量名称,然后使用该变量名称而不是eval的结果。 所以在你的情况下,这样的事情可能会起作用: eval("var favoriteFood='pizza';"); alert(favoriteFood); // will alert with the message "pizza" 如果您期望用户在每一行上放置一个单独的命令,您可以循环遍历这些行并单独评估它们,如下所示: eval("var favoriteFood='pizza';"); eval("favoriteFood += ' slices';"); alert(favoriteFood); // will alert with the message "pizza slices" 总的来说,你不应该像这样盲目地执行用户输入的数据,从安全角度来看这是一个大问题。 但我希望这对你今天做的菜有帮助。 编辑:(回答评论问题) 在你的情况下,而不是这个: alert(eval(v)); 你可以这样做: eval(v); alert(favoriteFood); 再次假设您在文本区域中设置了一个名为 favoriteFood 的变量。 如果您想删除该资格,我认为您没有办法使用 eval 来做到这一点。 你不明白 eval() 的作用。 eval 将表达式作为输入并返回最后一个表达式的值: console.log(eval("2+2")) // -> 4 console.log(eval("Math.pow(2, 10)")) // -> 1024 console.log(eval("let x = 100; x - 1")) // -> 99 console.log() 在 eval() 内部没有改变。它的作用与正常代码相同。 好的,但是如果我想要console.log()怎么办? 您可以重新定义console和console.log(): function executeCode(code) { let logs = []; // Logs array // Redefine console let console = { log(...args) { // We can pass as many args as we want logs.push(args); } } // Eval the code eval(code); // Return the logs return logs; } // Demos console.log(executeCode('console.log("Hello, world!")')) console.log(executeCode('let x = 5; console.log("X is", x)')) 注意什么eval是邪恶的 let password = "1234"; // An important variable let login = "vasya" // Another one // Execute code function executeCode(code) { let logs = []; // Logs array // Redefine console let console = { log(...args) { // We can pass as many args as we want logs.push(args); } } // Eval the code eval(code); // Return the logs return logs; } // Code may be not yours, as example shared to you console.log(executeCode('console.log("Got your password: ", password)')) // Code can access to almost anything console.log(executeCode('login = "abcdef"')) // And can modify everything console.log("INFO: Login is", login) // Or it can redirect you // console.log(executeCode('window.location.href = "example.com"')) 当然有一些方法可以确保这一点,如果你愿意的话 - 我可以添加它们

回答 2 投票 0

如何在代码隐藏中调用Eval?

我到底如何从代码隐藏中调用 Eval() ? 我知道这是 DataBinder.Eval(Container.DataItem, "name") 之类的前端快捷方式,但我无法编译这个该死的东西。 我是

回答 5 投票 0

如何在库中的函数中使用 eval() 以及在该库外部定义的函数?

我最近开发了一个库并将其上传到 PyPI,该库具有使用 eval() 的函数: def adv_prod(开始,结束,规则): ending_seq = list_prod([eval(rule) for i in range(start,end+1)]...

回答 1 投票 0

将字符串评估为数组

我有一个 .html 文件,其中包含以下内容: 数组('1', '786286', '45626'); 这就是它所包含的全部内容。 在我的代码中,我想评估它然后打印它: $code = file_get_contents(...

回答 2 投票 0

创建和使用基于动态组件的动态变量

我有一个表作为组件,现在我正在尝试在其中构建按列搜索。 将创建的表将具有动态数量的列。因此我需要创建多个变量...

回答 1 投票 0

如何使用eval创建ES模块上下文?

我有一个用JavaScript编写的Scheme解释器,称为LIPS。都是ES模块。但作为标准库的一部分,我创建了使用如下代码的 require 函数: 导入 { createRequire ...

回答 1 投票 0

如何使函数参数成为 R 中数据表的正确类型?

我有一个名为data的数据表: [![这是数据表的屏幕截图][1]][1] 目标是编写一个模仿以下代码的函数: 数据[区域==“东北”,平均值(意识...

回答 1 投票 0

如何修复 Python eval() 在处理带有转义字符的句子时中断? [已关闭]

我正在尝试使用此处找到的 MKQA 数据集构建字典,在此处输入链接描述 我已使用加载文件 将 open(file_path, "r") 作为 f: 数据 = f.readlines() 现在

回答 1 投票 0

评估:未找到命令

我有下一个脚本: 灰: 如果 [ $# -eq 1 ];然后 评估“$@” 别的 评估'“$@”' 菲 b.sh: 回显“第 1 段:$1” 回显“第2段:$2” echo "第3段: $3" 什...

回答 1 投票 0

nodejs 的 eval() 会改变 var 关键字的行为吗?

所有这些代码片段都在nodejs中运行。 下面是demo1.js,ps:在nodejs而不是浏览器js引擎中运行这些代码 // 演示1.js var1 = 'var1'; // 在nodejs或Chrome-V8 js引擎中,这一行会

回答 1 投票 0

使用 R 的元编程来处理函数参数

这项工作只是为了好玩,作为进一步学习 R 元编程的一种方式。我正在尝试实现列表推导式,就像您在 Haskell 或 Python 中看到的那样。我只是不知道如何修复一个小问题

回答 1 投票 0

解析错误:语法错误,...中出现意外的“&”:第 1 行的 eval() 代码 [已关闭]

首先,感谢您阅读我的第一个 stackoverflow 问题! 我有下面的代码: eval('return('.$语句。');') 我正在创建一个模板引擎用于学习目的,所以,我需要那个鳕鱼......

回答 1 投票 0

R基管不能用反引号引用吗?找不到函数“|>”

我正在尝试在基管 |> 周围构建一个包装器,以对左侧进行一些修改,然后正常通过管道将其向前传输。在研究这个问题时,我发现了以下特点......

回答 1 投票 0

(1, eval)('this') 与 eval('this') ?

我开始阅读JavaScript Patterns,有些代码让我感到困惑。 var 全局 = (函数 () { 返回这个|| (1, eval)('这个'); }()); 这是我的问题: 问题一: (1, 评估) === 评估? 为什么以及如何

回答 4 投票 0

eval 中的函数声明不会覆盖之前的函数声明

假设我们有如下代码。函数 a 被声明两次。我们知道控制台中的输出应该是 这是a2 因为函数 a 的第二个声明会覆盖前一个

回答 2 投票 0

eval 中的函数声明不会覆盖之前的函数声明

假设我们有如下代码。函数 a 被声明两次。我们知道控制台中的输出应该是 这是a2 因为函数 a 的第二个声明覆盖了

回答 1 投票 0

使用正则表达式或与 pandas 相同的表达式解析器查找 pandas.eval() 的变量

我有大量变量可以在脚本中调用并通过 pandas.eval() 进行评估。 这实际上是一个数学评估器。 但是,我们必须从多个数据组装数据框

回答 1 投票 0

为什么局部变量没有赋值给同名的非局部变量?

场景: $猫t426.sh 设置-x f() { 本地x=“x” 评估$1=$x } x=“y” fx 回显$x $ bash t426.sh + x=y + fx + 局部 x=x + 评估 x=x ++ x=x + 回显 y y 我们在这里...

回答 1 投票 0

通过gridview与eval绑定数据的排序和分页结果

大家好,我的问题是数据是从 sql 检索的,并显示在标签中,但一次我无法分隔数据行,所有数据都显示在一行中,请帮忙 大家好,我的问题是数据是从 sql 检索的,并显示在标签中,但一次我无法将所有数据中的数据行分开,所有数据都显示在一行中,请帮忙 <asp:GridView ID="grid_advertise_2" runat="server" AllowPaging="True" AutoGenerateColumns="False" GridLines="None" OnPageIndexChanging="GridView2_PageIndexChanging" PageSize="1" ShowHeader="False" OnSelectedIndexChanged="GridView2_SelectedIndexChanged"> <Columns> <asp:TemplateField> <ItemTemplate> <tr> <td id="advertise_2"> <asp:Label ID="lbl_advertise_2" runat="server" Font-Names="Tahoma" Font-Size="12pt" ForeColor="black" Text='<%# Bind("TitleEn") %>'/> </td> </tr> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> 在服务器代码中 protected void Page_Load(object sender, EventArgs e) { string Path = "Article.aspx"; Session.Add("Path", Path.ToString()); if (!IsPostBack) { this.BindGridadvertise1(); this.BindGridadvertise2(); } } private void BindGridadvertise1() { myConnection c = new myConnection(); SqlDataAdapter da = new SqlDataAdapter("select * from TblArticleWishka where ID >= 0 ", c.Cnn); DataSet ds = new DataSet(); da.Fill(ds); grid_advertise_1.DataSource = ds.Tables[0]; grid_advertise_1.DataBind(); } 大家好,我做到了,我通过创建新的销售并给他们 cssclass 来做到这一点` 整数 j = 0; protected void grid_advertise_1_RowDataBound(object sender, GridViewRowEventArgs e) { if (j<=1) { myConnection c = new myConnection(); SqlDataAdapter da = new SqlDataAdapter("select * from TblArticleWishka where ID>=0 ", c.Cnn); DataSet ds = new DataSet(); da.Fill(ds); int i = 1; foreach (DataRow dr in ds.Tables[0].Rows) { i++; TableCell a = new TableCell(); a.CssClass = "advertise_1_" + i + ""; a.Text = (string)dr["TitleEn"]; e.Row.Cells.Add(a); a.DataBind(); } j++; } }`

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.