特定の Javascript 変数がプログラム内の IF ステートメントで使用されているかどうかを確認したいと考えています。純粋な静的コード分析ではなく、これを動的に行う方法はありますか?
ここではファイルを読んでいません。実行時に何らかの拡張機能を使用して JS コードの一部を挿入し、特定の変数が IF ステートメントを通過するかどうかを動的に検出できるとしましょう。
特定の 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)
ます。