在GridView ItemTemplate中使用多个EVAL字段的最佳方法是什么?
希望能够控制外观的格式以及设置超链接/ javascript等.
我有一个javascript文件,读取另一个文件,其中可能包含需要eval() - ed的javascript片段.脚本片段应该符合javascript的严格子集,这限制了它们可以做什么以及它们可以更改哪些变量,但我想知道是否有某种方法可以通过阻止eval在全局范围内查看变量来强制执行此操作.类似于以下内容:
function safeEval( fragment )
{
var localVariable = g_Variable;
{
// do magic scoping here so that the eval fragment can see localVariable
// but not g_Variable or anything else outside function scope
eval( fragment );
}
}
Run Code Online (Sandbox Code Playgroud)
实际的代码不需要看起来像这样 - 我对任何和所有带闭包的奇怪技巧都是开放的等等.但我确实想知道这是否可能.
我有一个项目,其中评估了一些JavaScript var.因为字符串需要转义(仅限单引号),所以我在测试函数中编写了完全相同的代码.我有以下一些非常简单的JavaScript代码:
function testEscape() {
var strResult = "";
var strInputString = "fsdsd'4565sd";
// Here, the string needs to be escaped for single quotes for the eval
// to work as is. The following does NOT work! Help!
strInputString.replace(/'/g, "''");
var strTest = "strResult = '" + strInputString + "';";
eval(strTest);
alert(strResult);
}
Run Code Online (Sandbox Code Playgroud)
我想提醒它,说:fsdsd'4565sd.
关于-c选项,Bash的手册页说:
-c string如果-c存在该选项,则从中读取命令string.如果字符串后面有参数,则将它们分配给位置参数,从$0.
所以鉴于这个描述,我认为这样的事情应该有效:
bash -c "echo arg 0: $0, arg 1: $1" arg1
Run Code Online (Sandbox Code Playgroud)
但输出只显示以下内容,因此看起来-c字符串后的参数没有分配给位置参数.
arg 0: -bash, arg 1:
Run Code Online (Sandbox Code Playgroud)
我正在运行一个相当古老的Bash(在Fedora 4上):
[root @dd42 trunk] #bash --version GNU bash,version 3.00.16(1)-release(i386-redhat-linux-gnu)Copyright(C)2004 Free Software Foundation,Inc.
我真的想用参数执行一些shell脚本.我认为-c看起来非常有希望,因此上面的问题.我想知道使用eval,但我认为我不能将参数传递给eval之后的东西.我也对其他建议持开放态度.
我注意到Exception.pm和Error.pm似乎没有在Perl社区中广泛使用.这是因为eval异常处理的占地面积很大吗?
此外,Perl程序似乎对一般的异常处理有一个更宽松的政策.这是否有令人信服的理由?
无论如何,Perl中最好的异常处理方法是什么?
我必须转换传递varchar一个查询的MSSQL存储过程:
INSERT INTO Results
EXEC (@Expresion);
Run Code Online (Sandbox Code Playgroud)
这不起作用.我敢肯定,EXEC而EXECUTE不是MySQL的命令,但CALL也不管用.
有谁知道甚至可能有类似JavaScript的evalMySQL函数吗?
我需要动态地包含一个Perl模块,但是如果可能的话,由于工作编码标准,我希望远离eval.这有效:
$module = "My::module";
eval("use $module;");
Run Code Online (Sandbox Code Playgroud)
但是eval如果可能的话,我需要一种方法来做到这一点.所有谷歌搜索都会导致该eval方法,但没有任何其他方式.
没有可能eval吗?
在JavaScript中我有一个var str = ".a long string that contains many lines..."
由异常引起的eval(str);
我想抓住它并打印导致异常的行号.(str内部的行...)
可能吗?
编辑作为Alligator项目(http://github.com/mrohad/Alligator)的一部分,我是JavaScript的应用程序服务器,我正在从磁盘读取文件和eval()嵌套到scriplet的任何东西(<??> )
我使用NodeJS(在V8之上)在浏览器外部运行此脚本.
我只是想知道PHP是否有一个函数可以采用字符串2-1并产生它的算术结果?
或者我是否必须手动执行此操作explode()以获取算术运算符的左右值?