首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用 VSCode 调试网页的 JS 代码有多香

    一般来说,调试 Node.js 上跑的 JS 代码我会用 VSCode 的 debugger,调试浏览器上的 JS 代码我会用 chrome devtools。...调试 Node.js 的代码和调试网页的代码用同样的工具,经验可以复用,体验也一致。...调试 Node.js 我们一般用 VSCode,而调试网页也可以用 VSCode,那么只要用熟了一个工具就行了,不用再去学 chrome devtools 怎么用,而且用 VSCode 调试体验也更好,...JS 引擎是 event loop 的方式不断执行 JS 代码,因为火焰图是反应所有的代码的执行时间,所以会看到每一个 event loop 的代码执行,具体耗时多少。...我觉得,除非你想看 rendering、memory 这些信息,因为 VSCode 没有支持需要用 chrome devtools 以外,调试 JS 代码,看 profile 信息和火焰图,用 VSCode

    5K10

    求二叉树的深度和宽度

    1 二叉树的深度 题目: 输入一个二叉树的根节点,求该树的深度。从根节点到叶子节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度包含的节点数为为树的深度,即二叉树节点的层数。...很显然,该二叉树有4层节点,所以其高度是4。 image.png 求解思路: 根据题目的定义,我们可以用先根次序来遍历二叉树中所有根节点到叶节点的路径,来得到最长的路径就是二叉树的高度。...但是这样的代码量较为冗长,我们可以采用递归的方式解决。 我们可以从根节点即左右子树来理解二叉树的深度。...,那么二叉树的深度应该是其右树的深度加1; (4)如果根节点既有左子树又有右子树,那么二叉树的深度应该是其左右子树的深度较大值加1; 实现代码: int treeDepth(BinaryTreeNode...[2]求二叉树的深度和宽度

    2.3K20

    怎么防止同事用Evil.js的代码投毒

    最近Evil.js被讨论的很多,项目介绍如下项目被发布到npm上后,引起了激烈的讨论,最终因为安全问题被npm官方移除,代码也闭源了作为一个前端老司机,我肯定是反对这种行为,泄私愤有很多种方式,代码里下毒会被...,比如evil.js中,给JSON.stringify下毒了,把里面的I换成了l ,每周日prmise的then方法有10%的概率不触发,只有周日能触发着实有点损了, 并且npm的报名就叫lodash-utils...node 的vm模块node中也可以通过vm模块创建一个沙箱来运行代码,教程可以看这里,不过这对我们代码的入侵性太大了,适用于发现bug后的调试某段具体的代码,并且没法再浏览器里直接用const vm...ShadowRealm APITC39有一个新的ShadowRealm api,已经stage3了,可以手动创建一个隔离的js运行环境,被认为是下一代微前端的利器,不过现在兼容性还不太好,代码看起来有一丢丢像...,直接用Object.freeze冻住相关函数,确保不会被修改, 所以下面的代码会打印出{"name":"Illl"},但是有些框架会对原型链进行适当的修改(比如Vue2里对数组的处理),而且我们在修改

    3.1K20

    怎么防止同事用Evil.js的代码投毒

    视频移步B站最近Evil.js被讨论的很多,项目介绍如下图片项目被发布到npm上后,引起了激烈的讨论,最终因为安全问题被npm官方移除,代码也闭源了作为一个前端老司机,我肯定是反对这种行为,泄私愤有很多种方式...,比如evil.js中,给JSON.stringify下毒了,把里面的I换成了l ,每周日prmise的then方法有10%的概率不触发,只有周日能触发着实有点损了, 并且npm的报名就叫lodash-utils...模块node中也可以通过vm模块创建一个沙箱来运行代码,教程可以看这里,不过这对我们代码的入侵性太大了,适用于发现bug后的调试某段具体的代码,并且没法再浏览器里直接用const vm = require...api,已经stage3了,可以手动创建一个隔离的js运行环境,被认为是下一代微前端的利器,不过现在兼容性还不太好,代码看起来有一丢丢像eval,不过和vm的问题一样,需要我们指定某段代码执行更多ShadowRealm...(`JSON.stringify({name:'Illl'})`) )Object.freeze我们还可以项目代码的入口处,直接用Object.freeze冻住相关函数,确保不会被修改, 所以下面的代码会打印出

    3.7K20

    flv.js怎么用?全面解读flv.js代码

    flv.js项目的代码有一定规模,如果要研究的话,我建议从demux入手,理解了demux就掌握了媒体数据处理的关键步骤,前面的媒体数据下载和后面的媒体数据播放就变得容易理解了。...pdf flv.js怎么用?...下面进入正题,flv.js代码解读:demux部分 打开代码 https://github.com/Bilibili/flv.js/blob/master/src/demux/flv-demuxer.js...le) & 0x00FFFFFF; 这里有个坑,参考adobe的文档,这是CTS是个有符号的24位整数,SI24,就是说它有可能是个负数,所以我怀疑flv.js解析cts的代码有bug,没有处理负数情况...我现在已经可以从wireshark的抓包数据里人肉分析flv数据包了,对于debug相当有帮助。 以上就是flv.js怎么用?全面解读flv.js代码的详细内容,更多请关注php中文网其它相关文章!

    7.8K20

    将你的控件做成自响应,少写代码,极速开发

    我们平常做表单的时候,常常要控制界面的某一些按钮可点击不可点击,有些文本框可输入或只读,常常写下如此的代码。...一般写好,不改还好,就是怕的是加减控件,你又得找出控制代码,一行一行添加或清除,老烦人了。 但现在,现在。。。。 但学了自响应之后,这些乱乱的控制代码可以从你的开发中请出去了。...自响应控件可以响应表单的操作状态和权限状态。目前祺佑三层开发框架定义了三种操作状态,三种权限状态。...首先选择你的制作的自定义控件,添加四个属性opcode,isadd,isedit,isdel 1、init事件添加如下代码 &&向主表单注册自身 Thisform.registerObserver(This...,就拥了自动开闭的功能,从此告别,一个一个手动动控制控件的开闭。

    20620
    领券