javascript - 在 javascript 序列表达式中声明变量

标签 javascript

我想知道是否有一种方法可以在 Javascript 的序列表达式中声明局部变量。我想将变量声明为序列表达式的一部分,而不是单独的语句。
例如,我想做这样的事情
temp = "1", var a,++i;
感谢您的帮助!

编辑 - 我正在尝试检测 Javascript(以找出潜在的基于 DOM 的 XSS),上面的代码只是实际程序的一个片段。例如,我找到了一种使用三元运算符将 if 语句转换为表达式的方法,如 if (a === 2) {a = 1} else {a = 3} is converted to a === 2?一 = 1: 一 = 3;我想知道 var a = 2 是否也可以转换为表达式,以便将其添加到序列表达式中
至于我为什么要做这一切——我正在用我自己的一组语句替换 JS 程序中的赋值语句。如果我添加多个语句来代替一个语句,它会扰乱其余代码。因此我使用序列表达式来解决这个问题。
例如,在 for (var i = 0; i < 2; i++) {} 这样的 for 循环中,我不能用一堆分号分隔的语句替换 i =0。因此,我正在尝试使用序列运算符添加多个语句

最佳答案

确实,您必须以 var 关键字开始,后跟声明和半列。然后你就可以开始你的序列了。

如果您真的不喜欢它或不想使用半列(无论出于何种原因),您可以尝试制作匿名函数并将参数用作局部变量:

(function(temp, a, i){ i=a, i++ })("1", 1)

所以在 for 循环中你可以做类似的事情:

for (var i=function(){ /* any statement you want */; return 0 }(); i<10; i++) { /* ... */ }

希望对您有所帮助。

关于javascript - 在 javascript 序列表达式中声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17290240/

相关文章:

javascript - 使用输入框启动谷歌搜索

javascript - 将 xsl 变量传递给 javascript 函数

javascript - 在 onclick 事件中设置 css 属性

javascript - 从Python中的 session 存储中获取变量

javascript - 嵌套 html 元素中的 onClick 事件

javascript - JQUERY Mobile 表单在输入值时跳转

javascript - ExtJS5 - 图表极坐标 itemclick

javascript - 来自 v-item-group 的错误 : Multiple root nodes returned from render function.

javascript - Google Friend Connect 如何实现跨域通信而不需要上传文件到客户端域?

JavaScript 进度条不适用于 OO JS 代码