标签: eval

替换 eval(“new object()”) 的最佳方法

我正在寻找替换 eval("new object();" ) 的最佳方法

丑陋的来源:

    //var type = window.$(droppedDomNode).data("shape");
    var type = "sankey.shape.Start";

    var figure = eval("new "+type+"();");
    
    // create a command for the undo/redo support
    var command = new draw2d.command.CommandAdd(this, figure, x, y);
Run Code Online (Sandbox Code Playgroud)

eval 创建一个新的 sankey.shape.Start 对象。

我正在寻找替换此类代码的最佳解决方案。

谢谢

javascript eval draw2d-js

2
推荐指数
1
解决办法
207
查看次数

将 setTimeout 与字符串一起使用会触发不安全评估警报

以下是它在 Chrome 开发工具中的显示示例:

setTimeout(console.log(`String`), 100);
Run Code Online (Sandbox Code Playgroud)

字符串 拒绝将字符串评估为 JavaScript,因为“unsafe-eval”不是以下内容安全策略指令中允许的脚本源:“script-src'self' 'unsafe-inline' https:”。

此警报意味着什么以及将 setTimeout 与字符串一起使用的安全问题是什么?

javascript eval settimeout

2
推荐指数
1
解决办法
2537
查看次数

特殊变量$ @在Perl中意味着什么?

我正在尝试理解以下代码:

sub foo {
    ...
    if ( $@ ) {
        ...
        die $@;
    }
}
Run Code Online (Sandbox Code Playgroud)

perl eval perlvar

1
推荐指数
1
解决办法
638
查看次数

尝试使用eval检查perl模块

可能重复:
如何在使用之前检查我是否有Perl模块?

我想评估一个类似于这样的use语句:eval {use $ foo;}但是我遇到了正确的语法问题.我尝试了各种字符串插值组合,但即使对于不存在的模块,eval也会成功.有人可以帮我把这个吗?

perl eval

1
推荐指数
1
解决办法
2381
查看次数

在php中通过eval分配变量的好处?

美好的一天!目前我正在学习一门课程,其中包含以下内容:

if( $something) {  eval ('$actualValue = &$this->'.$value.';'); }
Run Code Online (Sandbox Code Playgroud)

你可以向我解释使用eval并在没有eval的情况下编写它的优点和缺点(只需定期通过php分配值)

更新1

对不起,但我刚刚在课程的其他部分看到了使用eval的更完整版本:

if( $something) {  
eval ('$actualValue = &$this->'.$value.';'); 
if(isset($actualValue)) { 
//some code
}
}
Run Code Online (Sandbox Code Playgroud)

它现在更清楚......但仍然存在一个问题:为什么不在没有评估的情况下做到这一点......只是不明白.但仍然感谢大家的答案和链接!

php eval

1
推荐指数
1
解决办法
153
查看次数

将eval传递给javascript

我试图将此eval传递给javascript但继续收到以下错误:

<input type="submit" value="Send" id="btnPDf" onclick='<%# "openLink( " +   Eval("ID" )  +  "  );" %>' runat="server" />
Run Code Online (Sandbox Code Playgroud)

萤火虫中的错误:

Timestamp: 12/11/2012 17:59:16
Error: SyntaxError: identifier starts immediately after numeric literal
Line: 1, Column: 24
Source Code:
openLink( b690d0c5-9269-424a-ac57-02f3359c982f );
Run Code Online (Sandbox Code Playgroud)

我试过用双引号和反斜杠传递它,如'\'但仍然没有快乐

javascript c# asp.net eval numeric

1
推荐指数
1
解决办法
2908
查看次数

鉴于强大的宏系统,现代Scheme中的`quote`和`quasiquote`是多余的?

Modern Scheme(及其后代像Racket)具有非常强大的卫生宏系统.在我看来,quotequasiquote定义(不卫生)宏已经失去了他们的历史地位(如Common Lisp中仍然做,如果我没有搞错吧)卫生系统的宏.其实在语言报告,quotequasiquote仅作为构建数据的便捷方式,特别列出.如果她能够忍受乏味,那么人们可以没有它们.例如,(quote (+ 1 2))可以重写为(list (quote +) 1 2),(quasiquote (+ (unquote (- 2 1)) 2))可以重写为(list (quote +) (- 2 1) 2).

现在假设我们将符号的新原始类型引入Scheme:以大写字母开头的标识符是符号,否则是变量.所以X意味着符号x,然后上面的例子可以写成(list Plus 1 2)(list Plus (- 2 1) 2).(我们假设它Plus代表符号+.)现在我们可以说quote并且quasiquote是多余的吗?或者我会错过什么?

编辑:

  1. eval在一些罕见的情况下似乎仍然有用:在SCHEME中进行EVAL

  2. 澄清问题.

quotes scheme eval racket

1
推荐指数
1
解决办法
613
查看次数

"跳转字典",切换语句,或如何在没有评估的情况下"跳转词典"?

我喜欢"跳转字典"的概念,其中包含键:值,其中值是函数.不过,我不确定我是否应该喜欢这个概念.

我想替换一个长列表if if-else if语句.(我应该使用switch声明吗?)

有没有办法在不使用eval的情况下实现"跳转字典"?(我已经读过这个关于eval 为什么不好的原因: 为什么使用JavaScript eval函数是一个坏主意? )

使用eval的示例

function some_func(arg) { console.log('I am a some func') };
function find_my(arg) { console.log('we are looing for your ' + arg); };

var jump = {
    '1' : 'some_func()',
    '2' : 'find_my("cat")',
    '3' : 'find_my("dog")'
}

eval(jump['3'])
eval(jump['2'])
eval(jump['1'])
Run Code Online (Sandbox Code Playgroud)

谢谢.

javascript eval switch-statement node.js

1
推荐指数
1
解决办法
141
查看次数

语法错误,eval()'d代码中的意外'='

这段代码有什么问题:

<?php eval(" $start = microtime(true)*1000; echo 'hello'; $end=microtime(true)*1000; $time = $end-$start; $time = round($time,4); echo '<br />Time taken: '.$time.'ms<br />'; "); ?>

它只是一行代码(不要问为什么),但为了可读性,我再说一遍

<?php 
eval(" $start = microtime(true)*1000; 
    echo 'hello'; 
    $end=microtime(true)*1000; 
    $time = $end-$start; 
    $time = round($time,4); 
    echo '<br />Time taken: '.$time.'ms<br />';
");  
?>
Run Code Online (Sandbox Code Playgroud)

我收到此错误: Parse error: syntax error, unexpected '=' in ...\test2.php(1) : eval()'d code on line 1

php eval

1
推荐指数
1
解决办法
1万
查看次数

为什么在用于document.write()之前已拆分此脚本标记?

我一直在阅读一些关于将脚本注入HTML文件的内容,主要是在这里

但我也遇到了使用这种document.write方法的这种变化.

document.write('<scr'+'ipt type="text/javascript" src="' + url + '"></scr'+'ipt>');

分割标签的<script部分有什么好处?<script><scr'+'ipt

javascript eval

1
推荐指数
1
解决办法
367
查看次数