ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 粗略学了一遍后总结 总结很重要,不管是好总结还是总结不到位,都是经过大脑思考以后生成的概念,之后所有学习产生的思想都是建立在这些“先入为主”的概念之上的,如果之后看到的内容和总结大相径庭。那就有很多提升的空间。相反则说明学习成果很不错。 学了近一个月的JS,中途搞了CAD画图和平时杂七杂八的东西,总得来说学得不系统、不认真。但还是有一点儿感悟的。废话不多说,正式开始。 首先在学之前感觉乱七八糟,框架更是五花八门,写起来也像玩具语言。玩具玩具嘛,小孩子都能很快入手,说明它本身并没有什么难度。事实上也是如此。 JS本身没有那些太多的内容: 一、五种基础类型(加ES6共六种)。 Number、 NULL、 Boolen、 String、 Undefind。 (ES6: Symbol) 它们构成了简单的逻辑结构,剩下的内容全部塞入了对象。这本身就是JS的一大特性。同时JS的真值表就成为了一个很重要的内容块。 二、所有的对象都继承于Object对象。 正因为如此,关于继承的内容就变得很重要。 1.什么是原型对象 2.什么是原型继承 3.什么是原型链 4.继承有几种,有哪些应用 5.怎么判断两个对象是否相等 6.this apply() call()之间的联系与区别 7. …… 三、JS的运行原理(分两部分:客户端和服务器端) 除了语言本身的特性外,就是在程序如何运行环境中解析和运行,只有理解了这些,才有可能写出高性能的JS代码。 1.什么是闭包,闭包的作用和场景 2.什么是回调函数,回调函数有哪些作用,什么时候会用到 3.什么是变量提升,会引起哪些问题 4.如何在明白JS运行原理后写出高性能的JS代码 5.什么是深拷贝,如何实现对象的深拷贝 6.知道多少设计模式,如何完整的构建一个JS框架 7. …… 四、JS依托于运行环境V8引擎的Nodejs和浏览器内核 理解运行环境运作方式,操作函数和环境变量就变得至关重要。 1.什么是DOM、BOM。描述渲染render树的过程 2.如何操作DOM和BOM 3.浏览器是如何运作JS的 4.如何在明白浏览器运行原理后写出高性能的JS代码 5.window作为JS在宿主中的全局变量,有哪些常用的操作函数、环境变量 6.global作为Node在系统中的全局变量,有哪些常用的操作函数、环境变量 7. …… 五、JS对于数据的传输和交互 有网站就离不开数据,离不开数据交互,人机交互,那么传输并保证传输的完整性就很重要。 1.后端与前端有几种传输数据方式,分别有什么优点和缺点 2.AJAX、JSONP、CORS三种传输方式都有哪些异同点 3.为什么会有同源策略 4.什么是跨域,如何处理跨域 5.如何保证数据完整传输 6.如何同步异步请求,描述promise原理,并实现 7. …… 六、JS的开发环境和框架 有程序就离不开开发环境,那么开发环境和对框架的选择 1.什么是MVC、MVVM 2.webpack如何构建一个web应用 3.webpack如何配置 4.vuejs适用于哪些场景 5.什么是git,如何用git实现版本控制 6. …… 七、其他常用内容 1.JS的内置常用对象:Date()、 RegExp()、JSON() 2. ES6的map和set 3. 箭头函数,箭头函数的this指向 4. generator 5. ES6的class继承 6. 什么是DNS 7. 什么是路由解析 8. 什么是http、ftp、https、ws 9. 什么是tcp/ip 10. 一个页面从请求到接收经历了哪些过程 11.JS如何实现登录注册 12. …… 这一个月基本上就是云里雾里的看了这么多东西,结合之前写过的一些JS项目、近期写的小demo后脑子里过滤出来这么多看似符合逻辑的内容。这也是为什么一直感觉它是玩具语言的原因,乱七八糟,不需要搞明白它怎么实现的,拿来即用。这是因为它的语言设计本身不成系统。相比于C语言严谨的逻辑构成,它更像是一种数据的集成并复制。