「禁止使用 innerHTML」这条规则,病不在它严
先贴规则。 就这么多。它能判定的,是"这一行里出现了 innerHTML 这四个字",不是"一个没消过毒的值被交给了 HTML 解析器"。这两句话在前一万个文件里恰好重合,所以它看着能用。 到下一个文件就分家。 三行在 AST 里是同一个形状。上下文不在语法树里,上下文在数据流里。这条规则不看数据流,所以它只能猜。
先贴规则。 就这么多。它能判定的,是"这一行里出现了 innerHTML 这四个字",不是"一个没消过毒的值被交给了 HTML 解析器"。这两句话在前一万个文件里恰好重合,所以它看着能用。 到下一个文件就分家。 三行在 AST 里是同一个形状。上下文不在语法树里,上下文在数据流里。这条规则不看数据流,所以它只能猜。