932 B
932 B
验证与回归
补环境完成后,不要只看“脚本不报错”,至少做下面几类验证。
1. 结构验证
instanceofObject.getPrototypeOfconstructorSymbol.toStringTaggetOwnPropertyDescriptorownKeys
2. native 验证
fn.toString()fn.toString.toString()- getter / setter
toString namelength
3. 运行验证
- 同一路径第二次访问是否仍为
undefined - 是否还抛
Illegal invocation - 是否还抛
TypeError - 是否还暴露 Node 栈
4. 指纹验证
canvasWebGLbatteryscreen/window一致性AudioContextWebRTC
5. 替代路线判断
如果补到以下阶段仍然成本过高,考虑切换路线:
document.allWorkerWebRTCAudioContextMath精度
可切换为:
- 真浏览器内执行
JsRpcWebSocket回传