- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为学生创建一个网站,允许他们输入 javascript、运行代码并根据预期输出测试代码。我在使用 Function() 构造函数运行从文本输入空间获取的代码时遇到了一些麻烦。
按下按钮以运行 submitcode()
function submitcode(){
$(document).find('textarea,:text').each( function(){
var codewritten = $(this).val();
console.log(codewritten);
test(codewritten);
});
}
测试方法在这里:
function test(inputcode){
var passed = inputcode; //code that they wrote
var args = 'pogchamp'; //this is my input that i want to test their code with
var f = new Function('a',passed);
console.log(passed);
console.log('test');
console.log(f(args));
}
当我检查 chrome 输出时,passed 的值正确显示,'test' 也是如此,而 console.log(f(args));返回未定义。
下面是传递变量的示例值,仅供引用:
function foo(str){
return false; //auto-generated
}
谢谢,抱歉(我对 javascript 比较陌生)
最佳答案
new Function()
使用给定的内容创建一个新函数。您向它传递了一个函数声明,因此生成的函数如下所示:
function( a ) {
function foo(str){
return false; //auto-generated
}
}
...调用时不返回任何内容。 (您可以使用 console.log(f.toString())
确认这一点)。
要修复它,您可以使用 eval()
代替:
eval( "var f = " + passed );
对于所有不可避免的“eval is evil!!”评论:这是 eval 实际上是合适选择的罕见情况之一。 new Function()
也是 eval 的另一个名字。而且,当然,您至少需要 try..catch 来捕获输入中的语法错误。
关于javascript - 当我指定一个函数作为它的参数时,console.log() 返回 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24438798/
我只是有一个更琐碎的问题。 为什么undefined == undefined 返回true,而undefined >= undefined 为false? undefined 等于 undefine
用PHP 7.2编写套接字服务器。根据Firefox 60中的“网络”选项卡,服务器的一些HTTP响应的第一行随机变为undefined undefined undefined。因此,我尝试记录套接字
在 JavaScript 中这是真的: undefined == undefined 但这是错误的: undefined <= undefined 起初我以为<=运算符包含第一个,但我猜它试图将其转换
在回答这个问题 (Difference between [Object, Object] and Array(2)) 时,我在 JavaScript 数组中遇到了一些我以前不知道的东西(具有讽刺意味的
来自https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/of , Note: thi
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
当我添加 到我的 PrimeFaces Mobile 页面,然后我在服务器日志中收到以下警告 WARNING: JSF1064: Unable to find or serve resource, u
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我是一名优秀的程序员,十分优秀!