我目前正在分析一些javascript shell代码。下面是这个脚本中的一行:
function having()
{
memory = memory;
setTimeout("F0VTp03Y()", 2000);
}我不太明白内存=内存,给自己分配一个变量有什么意义。我会感谢你的帮助!
发布于 2017-07-26 10:37:01
我能想到将变量赋值给自己的唯一原因是变量影影。
当在某个作用域中声明的变量(决策块、方法或内部类)中声明的变量与在外部作用域中声明的变量的名称相同时,就会发生变量隐藏。在标识符级别(名称,而不是变量),这称为名称掩蔽。该外部变量被内部变量称为阴影,而内部标识符则被称为掩蔽外部标识符。这可能会导致混淆,因为可能不清楚隐藏变量名称的后续用途是哪个变量,这取决于语言的名称解析规则。
但在您的示例中,memory变量不是函数的参数,因此没有任何意义。
https://stackoverflow.com/questions/45323907
复制相似问题