如何测试js代码

JavaScript013

如何测试js代码,第1张

可以直接用谷歌浏览器测试。

谷歌浏览器开发者工具比较全面,可以打断点,可以查看调用栈,同时可以查看html和css的变化情况,所以一般情况使用谷歌浏览器测试js就可以了。

其他的开发工具,虽然也有js调试,但是可能不能跟踪html,css等的变化。

答:首先要截获检测函数的动态代码,动态执行js代码有两种方法,一是eval,二是function。

现在很多网站都上了各种前端反爬手段,无论手段如何,最重要的是要把包含反爬手段的前端javascript代码加密隐藏起来,然后在运行时实时解密动态执行。

动态执行js代码无非两种方法,即eval和Function。那么,不管网站加密代码写的多牛,我们只要将这两个方法hook住,即可获取到解密后的可执行js代码。

注意,有些网站会检测eval和Function这两个方法是否原生,因此需要一些小花招来忽悠过去

通常,js本身不会有什么性能问题,现代浏览器的js引擎都是非常优越的,一点点代码写法上造成的性能差异完全不会有实质体现(比如同样的代码,eval会导致代码几十倍速率的差异;setTimeout性能低于setInterval, for in循环性能低于for循环等),所以除非是针对低性能平台开发(如wap并兼容低端移动设备)无需在意,关注下内存泄露,页面渲染效率即可,目前的性能检测工具都不是单单针对js的,而是监测整个页面的整体性能表现,比如chrome,ie11自带的调试工具都具备性能监测功能,常用的性能优化原则无非都是些条条框框(比如yahoo 14条),如果网站流量达到一定量级,可以借助更优秀的性能监测工具(web speed等)采用更高级更系统的性能优化方案(lazyload,bigpipe等)来做网站优化。回到js,具体开发中实际上会为了开发效率与代码维护而故意牺牲性能来达到目的,很多时候优化的原则即两权相较取其轻