检查 Javascript 变量是否在任何 if 语句中使用
Check if a Javascript variable is used in any if statement
我想检查给定的Javascript变量是否被程序内的任何IF语句使用。有没有办法动态执行此操作,而不是纯粹的静态代码分析。
我在这里没有阅读任何文件。假设我可以在运行时使用一些扩展注入一段JS代码,并动态查找给定变量是否通过IF语句。
这是一个坏主意。有很多事情可能会出错。你可以研究一下沙盒。
但是,只要您不依赖它来确保安全性,您可能会发现这很有用:
var x = function (a, b, c) { if(a) {console.log(a)}};
var y = function (a, b, c) { if(b) {console.log(a)}};
// You can get the text of a function. Notice it's been formatted.
console.log(x.toString());
>>> "function (a, b, c) { if (a) { console.log(a) } }"
var matcher = /if ?'(.?a.?')/g;
x.toString().match(matcher);
>>> ["if (a)"]
y.toString().match(matcher);
>>> null
要小心的事情,在我的头顶上:
- 不同的
- 浏览器可能会以不同的方式格式化代码。
- 可以通过将变量分配给不同的名称来为变量指定别名。
- 变量可以通过索引访问和字符串访问。
- 这是一个朴素的正则表达式,显然会匹配
if (nota)
。 - 你的javascript将是可见的,所以任何想要解决这个问题的人都会找到一种方法。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- Sharepoint JScript if语句未执行
- Javascript:If-then语句在函数中不起作用
- for循环中的javascript if语句找不到==
- jquery if语句返回return wong语句
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 如何检查if/else语句中的随机条件
- 循环通过数组的If语句不起作用
- jQuery模板中的If语句
- 如何从数据库中回显If语句
- 如何减少if语句的数量
- Node.js-承诺和锥形语句(if、switch等)-如何构建
- 如何在嵌套ng重复指令中使用控制语句(if语句)
- 如何创建语句if包含"&"
- If语句- If主体有一个类remove在滚动原生javascript
- Javascript中的if语句- if - else问题