首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何阅读JS源码?源码有什么好处

对,就是看别人写的JS代码。文档嘛,自然是没有的。 之前也有试过看代码,但项目中N多JS文件,每个JS文件上千行,一行一行的看下来,用不了几分钟就完全晕掉了。...于是,这一次,我决定换一个方式JS源码。 这个项目中有N个JS文件,我把入口的JS文件拿出来先看,然后我把它里面所有的函数名,都用思维导图写出来,就像这样, ?...在这样做的时候,只是看看函数名在做什么,不去函数内部的细节。我觉得这种方法会比较适合这种上百个JS文件,每个文件至少一千行以上的复杂项目。 这样做的好处首先就是从文件和函数上理解项目的结构。...虽然看小说和看源码,都是用的。但区别在于,小说是给人看的,所以是从人的易于理解角度去编写,但程序是写给机器看的,所以是从机器易于理解的角度去写。...看小说一行行看就OK,但源码的重点,不在于要读完并理解每一行JS代码,而在于通过图表和笔记,理解系统的结构和它们之间的关系。

3.6K110
您找到你想要的搜索结果了吗?
是的
没有找到

只会写js而不会排bug的人,做不了好前端

定义有很多,在我这至少包括能写js能排错。有些人因为面试的次数多了,什么样的面试题都见过,成了面霸成了面试小能手。...js面试题写的666,面试谈话也很ok,但实际的开发经历不多,所以他们的短板在于实际工作中的疑难杂症的排除经验。 为什么会有些同学过不了试用期呢?...这个看到是指页面的不正常,要么是dom不正常,要么是js报错,要么是数据有问题,基本上就在这三个方面之内。...第3,看看这个bug,是js引起的,还是data引起的?这是在确定问题是谁的责任。 第4,如果是js引起的,那么要在bug出现的前后不同位置,分别打上console.log来查看打印信息进行调试。

1K80

明确告诉你,眼界不够,JS再好也成不了好前端

只要搞定html,css,js就可以。所以他们的眼睛只是订着html,css,js,视野很局限。 但是现在面对的是一个新行业,必须要站在工作流程、产业链的层面上去看待这个工种。...最早期讲前后端分离,那应该是2002、2003年前后的事情了,无非是要求php、java们不要写html、css、js了,当时是尝试让做设计的人搞这些。...后来的前端又开始提mvc大概是在2007年前后吧,那时也不过是说,把css、js从html里拿出去,叫“表现和结构相分离”。大概是这时起,出现了专注UI制作和专注js编程的区别。...不爱写js的人只做静态页面,后来这部分人都被淘汰了。 现在又提出的前后端分离,就不止是代码层面的分离了,而是从业务体系、流程上进行了全面的分离。我个人感觉,应该是从nodeJs出现开始的。...如果你的脑子里,只有html,css,js这三个东西,那么很明显是不够格的。

65780

JS魔法堂:浏览器模式和文档模式怎么玩?

(IE7也是这样)  注意:这时的兼容模式主要是解决显示问题,要知道那时的JS只是小配角而已。   3.3....但到底两者的不同点体验在哪里,本人暂时不了解,请各位指导! 五、IE8+设置文档模式的方式                             开发者常用的方式:   1....DOCTYPE>时,均采用浏览器版本对应的标准模式(如IE8就采用IE8标准模式,IE11就采用IE11标准模式)。  ...IE=Edge:表示采用浏览器自身版本的文档模式,如IE11,以作为文档第一行则采用IE11标准模式,否则采用怪异模式。 注意:   1....这样Jser还是使用IE10+的JS API,不用忍受IE5之苦;   3.

1.9K80

Vue 3 计划放弃支持 IE11

Vue.js 作者尤雨溪就 Vue 3 支持 IE11 的计划提交了新提案 提案摘要: Vue 3 将不会支持 IE11 原定投入 Vue 3 IE11 支持的精力将投入给 2.7,移植 3.x 兼容的新功能...在后续的开发过程中,团队对 IE11 兼容性进行了研究和实验,由于其涉及的复杂性和手头上的其他工作量比较大,所以支持 IE11 的开发工作一再被延后。...现在再重新审视「Vue 3 支持 IE11」计划时,大环境已经有所改变。...例如微软积极推广 Edge 从而降低用户对 IE 的依赖,甚至微软自家的项目 (Microsoft 365) 也放弃支持 IE11;WordPress 决定放弃支持 IE11IE11 的全球使用率已低于...对于确切需要 IE11 支持的用户,官方建议使用 Vue 2。

1K10

document.all的详细解释(document.all基本上所有浏览器可用!)

; } 关于这个问题,我进行了测试,在所有现在浏览器(除IE)下,显示为: typeof(document.all) “undefined” 在IE(包括IE9~IE10,IE11没测试,根据微软的尿性...,估计也一样)下: typeof(document.all) “object” 所以..判断为IE 附录: 从IE11、Chrome开始,document.all将返回HTMLCollection...(Xee:IE11之前的版本document.all返回HTMLCollection的对象)但IE11中的HTMLAllCollection还可以当作函数使用。 三....毕竟大多数人还不了解标准,在使用标准前,你还可以在你的网页中用document.all[]访问文档对象, 原生JS(标准的访问方法)有3种方式来获取元素: getElementById('id').../09/811141.aspx & http://www.jb51.net/article/29091.htm> 转载于:https://www.cnblogs.com/ChandlerVer5/p/js_document.html

1K20

Vue 3 也放弃支持 IE11

在 WordPress 将彻底放弃对 IE 的支持之后,Vue.js 作者尤雨溪就 Vue 3 支持 IE11 的计划提交了新提案,就是 Vue 3 将不会支持 IE11。...那么原定投入 Vue 3 IE11 支持的精力将投入给 2.7,移植 3.x 兼容的新功能,包括: Composition API 以及其它新的单文件组件特性 emits...选项 TS 类型改进 Vite 官方整合 尤雨溪说,按照最初的计划,Vue 3 正式发布后会添加对 IE11 的支持。...在后续的开发过程中,团队对 IE11 兼容性进行了研究和实验,由于其涉及的复杂性和手头上的其他工作量比较大,所以支持 IE11 的开发工作一再被延后。...在 Vue 3 中支持 IE11 所带来的影响,例如造成长期的维护负担、增加库开发者的开发复杂度、导致部分特性存在行为差异。对于确切需要 IE11 支持的用户,官方建议使用 Vue 2。

1.8K20

基于HTML5技术的电力3D监控应用(四)

Web 3D做的电力项目收尾,正好用到的就是WebGL技术,因此说说自己的感觉供参考: 1、2013年应该感谢Google和MS,前者提供了Android Chrome浏览器的WebGL支持,后者终于让IE11...4、IE11很给力,我在mac下的VirtualBox虚拟机里面IE11是唯一能跑WebGL的(其他浏览器不知道是否有开关设置可以在虚拟器可以跑的,如果有还请高人指点),但还得努力啊,一堆基础的API都不支持...,例如TRIANGLE_FAN类型都不支持,例如lineWidth都不让设置,例如Shading Language都不支持return语句,还有好多坑,但还好我们都找到方法绕开了(如果你也遇到了IE11...6、打包android的WebView控件方式还很难搞,默认的WebView核与Android Chrome不一样,搞了个独立的Chrome 28的核还开启不了WebGL(要是有高人搞定了,还请指点)。...7、上点代表性的项目抓图,一个是IE11下的,一个是Android下的,总体说我感觉2013年经过各个厂家的努力,对于大多数的企业应用应该可以说:WebGL is Ready!

59180

解决前端项目在IE11下不能正常显示且自定义http字段报错异常

昨天接到客户的反馈,说用户的IE11浏览器无法访问我们的后台 据了解,IE11只能在win7系统上运行,我们的电脑都是win10的不能远行,后来发现360兼容模式可以模拟IE11,并复现问题....于是用360兼容模式打开网站.页面出现白屏, 打开控制台显示JavaScript 语法错误,并且还有一个无法获取未定义会null引用的熟悉call 如下图 点击对应的js 进入堆栈查看 是哪个方法出错...第一个语法错误, 点击vendor...js 进入详情 这里是压缩后的js,整体就1行代码, 并且在控制台看代码,光标不会煽动,很难找....定位到了问题, 这个压缩后的js 使用了一个new class 的es6的方法 具体是哪个js 我们需要根据这段代码的上下文推断.

99610

Babel配置傻傻看不懂?

前沿:文章起源在于,朋友跟树酱说在解决项目兼容IE11浏览器过程中,遇到“眼花缭乱”的babel配置和插件等,傻傻分不清配置间的区别、以及不了解如何引用babel插件才能让性能更佳,如果你也有这方面的疑虑...那么Babel就是帮助浏览器翻译的,让web应用能够运行旧版本的浏览器中,比如IE11浏览器不支持Promise等ES6语法,那这个时候在IE11打开你写的web应用,应用就无法正常运行,这时候就需要Babel...来“翻译”成为IE11能读懂的 1.1 Babel是怎么工作的?.../preset-env这个是一个present预设,换句话说就是“豪华大礼包”,包括一系列插件的集合,包含了我们常用的es2015,es2016, es2017等最新的语法转化插件,允许我们使用最新的js...对于@babel/core、@babel/preset-env 、@babel/polyfill等这些插件,当我们在使用webpack进行打包的时候,如何让webpack知道按这些规则去编译js

1.3K43

基于HTML5技术的电力3D监控应用(四)

Web 3D做的电力项目收尾,正好用到的就是WebGL技术,因此说说自己的感觉供参考: 1、2013年应该感谢Google和MS,前者提供了Android Chrome浏览器的WebGL支持,后者终于让IE11...4、IE11很给力,我在mac下的VirtualBox虚拟机里面IE11是唯一能跑WebGL的(其他浏览器不知道是否有开关设置可以在虚拟器可以跑的,如果有还请高人指点),但还得努力啊,一堆基础的API都不支持...,例如TRIANGLE_FAN类型都不支持,例如lineWidth都不让设置,例如Shading Language都不支持return语句,还有好多坑,但还好我们都找到方法绕开了(如果你也遇到了IE11...6、打包android的WebView控件方式还很难搞,默认的WebView核与Android Chrome不一样,搞了个独立的Chrome 28的核还开启不了WebGL(要是有高人搞定了,还请指点)。...7、上点代表性的项目抓图,一个是IE11下的,一个是Android下的,总体说我感觉2013年经过各个厂家的努力,对于大多数的企业应用应该可以说:WebGL is Ready!

51780

记几处原生JS的开发 原

比如不让用jquery,不过要求兼容ie11和chrome ff,就行。放弃jquery开始感觉很难,写了两天,也还行。...在控制台先测试好,直接使用就行了,但遇到以下问题,简单记一下: 0、项目引用了prism.js来加亮代码。高亮后,IE11非常的卡,无法滚动,按F12查看性能,要2秒多去渲染一屏,这和JS无关了。....namespace { opacity: .7; /*该行引起IE11的性能极大的下降,禁用!*/ } 1、IE11不允许classList.add 多个参数。...2、IE11中,在主界面中,获取了iframe初始的contentWindow后,  如果再往里写入一个新页面,那么这个已经获取的window就无效了。...3、获取窗体滚动条的位置,IE11不支持window.scrollY,需要去其它属性找。

2.1K20
领券