草庐IT

class-eval

全部标签

javascript - 如何在不使用 eval 或构造函数的情况下用 JavaScript 编写算术表达式解析器?

给定一个字符串:varstr1="25*5+5*7";如果不使用eval或JavaScript中的构造函数,我将如何编写一个名为“output”的函数来接收字符串并输出字符串的算术值,在这个案例是160? 最佳答案 这是递归解析后的完整优先表达式求值器我在对OP问题的评论中链接到的想法。为此,我首先为要处理的表达式编写了一个简单的BNF语法:sum=product|sum"+"product|sum"-"product;product=term|product"*"term|product"/"term;term="-"term|"

Javascript eval - 混淆?

我遇到了一些评估代码:eval('[+!+[]+!+[]+!+[]+!+[]+!+[]]');此代码等于整数5。这种东西叫什么?我试过在网上搜索,但我似乎无法弄清楚这指的是什么。我觉得这很有趣,想知道在哪里/如何学习如何打印不同的东西,而不仅仅是整数5。字母、符号等。因为我无法在该代码中指出一个模式,所以我有0成功从中获取并添加到它以产生不同的结果。这是某种混淆吗? 最佳答案 除了eval()之外,这种类型的混淆被称为非字母数字混淆。要完全非字母数字,eval必须由Array构造函数原型(prototype)函数和下标符号执行:[]

javascript - object.className 或 object.getAttribute ("className/class")?

两者之间:JavascriptfunctionsetCss(object,css){return(object.className=css);}functiongetCss(object,css){returnobject.className;}或者functiongetCss2(object){if(object.getAttribute("className")){returnobject.getAttribute("className");}returnobject.getAttribute("class");}functionsetCss2(object,cssclass){i

javascript - Javascript eval 的替代品

这个问题在这里已经有了答案:WhataretheAlternativestoevalinJavaScript?(11个答案)关闭7年前。Mozilla的ContentSecurityPolicy不允许使用javascripteval函数和内联脚本。他们声称eval的所有实例都可以被另一个(希望更安全的)函数替换。我同意在大多数情况下,可以替换Javascripteval,但我不确定是否可以在每种情况下进行替换。我的问题有两个:是否有通用的方法来替换每个javascripteval函数?(不一定是安全的)是否存在无法替换Javascripteval的情况?

asp.net - 在 OnClientClick 代码中包含 eval/bind 值

我需要从gridview(VS2005/2008)打开一个弹出式详细信息窗口。我想要做的是在我的TemplateColumn的标记中有一个asp:Button控件,有点像这样:','','scrollbars=yes,resizable=yes,width=350,height=550');"当然,不起作用的是附加部分来设置查询字符串变量。有什么建议吗?或者是否有更好的方法来实现相同的结果? 最佳答案 我相信这样做的方法是onClientClick= 关于asp.net-在OnClien

javascript - 使用 JavaScript eval 解析 JSON

问题:我正在使用eval来解析来self的WebMethods之一的JSON返回值。我不想添加jquery-json,因为传输量已经很大了。所以我用eval解析JSON返回值。现在有传言说这是不安全的。为什么?除非他们入侵我的服务器,否则没有人可以修改JSOn返回值,在这种情况下,无论如何我都会遇到更大的问题。如果他们在本地执行,JavaScript只会在他们的浏览器中执行。所以我看不出问题出在哪里。任何人都可以使用这个具体示例阐明这一点吗?functionOnWebMethodSucceeded(JSONstrWebMethodReturnValue){varresult=eval(

javascript - 使用 eval() 在 JavaScript 中执行用户输入的安全风险

我计划为我的学生制作一个快速网页,教他们JavaScript编程。在这个页面上,我想给他们一个文本框并允许他们运行JavaScript,以便他们可以看到工作中语言的动态特性。但是,我很清楚在用户输入上使用eval()通常是一个非常糟糕的主意。发布这样的页面会带来什么样的安全风险?我应该采取哪些步骤来降低这些风险? 最佳答案 您面临的安全风险是,您从用户那里获取输入并在您网站上的脚本上下文中运行它。想象一下,如果您是一个恶意破解者,无论出于何种原因都可以完全访问修改JavaScript在网站上运行。您可以执行在您的域上运行的JavaS

javascript - 如果 body class 等于 X 那么做点什么?

我让这段代码从外部脚本运行,用于网站上每个页面的图像slider。$(document).ready(function(){$("#slideshow").show();$('#slider1').anythingSlider({buildNavigation:false,delay:8000})在其中一个页面上,我不希望图像slider自动旋转,因此我需要添加一个额外的变量。我在页面正文中放置了一个类,并希望按照...如果正文有一个“partnerCharitiesDetail”类,则运行此脚本而不是通用脚本这是我在下面尝试过的(没有成功)。我真的有2个问题,1)当有2个相同的脚本在

javascript - 在 JavaScript 中,eval(010) 返回 8

这个问题在这里已经有了答案:NumberwithleadingzeroinJavaScript(3个答案)关闭5年前。如果我使用代码:string='010';write=eval(string);document.write(write)我在页面上写了8。为什么?即使010不是字符串,也会发生这种情况。

javascript - val.replace(/[^a-zA-Z_-0-9]/g, '' ) 产生 SyntaxError : invalid range in character class

我需要替换所有与a-zA-Z_-0-9范围不匹配的字符。所以我做了val.replace(/[^a-zA-Z_-0-9]/g,'')但得到了错误。我怎么能咬这个?谢谢 最佳答案 如果要在字符类中包含减号“-”,则必须将其放在范围末尾:val.replace(/[^a-zA-Z_0-9-]/g,'') 关于javascript-val.replace(/[^a-zA-Z_-0-9]/g,'')产生SyntaxError:invalidrangeincharacterclass,我们在Sta