JavaScript简介
JavaScript最初是由Brendan Eich为Netscape Navigator(第一个商业web浏览器)开发的"LiveScript"(我理解是一种动态脚本)。JavaScript虽然和著名的Java语言名字相似,但是JS实际上是一门基于原型(面向编程的一种风格,通过复制已经存在的原型对象的过程实现继承)和头等函数(即函数是头等公民)的多范式高级解释型编程语言。
JavaScript支持:
面向对象程序设计
指令式编程
函数式编程
JavaScript特点:
通过方法来操控文本、数组、日期以及正则表达式
不支持I/O (网络、存储和图形等),但可以由它的宿主环境提供支持
JavaScript由Ecma(欧洲计算机制造商协会)通过ECMAScript实现语言的标准化,已经被世界上绝大多数网站所使用,也被世界树瘤浏览器(Chrome, Firefox, Saari 和 Opera)所支持。
对于客户端而言,JavaScript通常被实现为一门解释语言,但是JavaScript现在也可以被即时编译(JIT)。随着HTML5和CSS3语言标准的推行,JavaScript还可以用于游戏、桌面和移动应用程序开发,以及服务器端网络环境运行(如 Node.js )。
学习线路(我的想法)
我是从后端运维工作开始我的IT职业生涯的,前端对我来说是一个模糊的景象: 各种眼花缭乱的工具和开发框架让人无所适从
不过,我的目标是通过前端技术实现全栈(真正的全栈,从底层基础设施到顶层应用),我需要通过前端来构建web、应用,来实现表达和完成普通人能够使用的产品。那么我该如何学习JavaScript呢?
我的逐渐形成的学习线路想法:
学习 JavaScript 底层技术,并且重点以JS为主,所有的framework最终都是JS构建的组件荟萃,不管技术潮流如恨来去,JS已经是既成的基础
适当学习 React 来完成UI组件的布局和组合,毕竟不可能每个WEB组件元素都自己构建,快速的WEB应用开发都依赖react
Next.js 相当于 React 的固定(优化)组合,更为容易构建WEB,但是也限制了天马行空的构建。不过,对于需要快速拿到结果,还是需要 Next.js 这种更高层的预制品来完成作品。所以,我会从两个方向学习,一个是底层JavaScript向上,尽可能打好基础;另一个是从 Next.js 向下,以便能够快速完成WEB构建作品,能够将自己的想法变成现实
主要学习的目标还是 JavaScript ,越是底层生命力越旺盛,框架毕竟会由于开源社区的的风向而转变,基本不变的只有底层。
学习资料
Fireship 制作了很多有趣的视频以及快速学习资料,我在看了 How to Run JavaScript Code 小短文以及该系列的几个形象的视频(充满复古风味很合我的口味),觉得非常推荐给懂一点英语的JS小白(例如我自己)
WebPlatform
项目提供了一系列 Learn the latest in web technologies ,虽然在2015年已经停止更新,但是文档还是写得非常清晰的,可以借鉴Learn Enough系列 中包含了 Learn enough javascript 可以作为入门学习
favicon
网站页面需要一个默认 favicon
:
favicon.cc 提供了在线绘制
favicon
,能够自己设计和绘制网站图标favicon.io 可以智能根据文本、图片以及emojis来生成
favicon
(后端应该使用了类似现在非常流程的 Stable Diffusion模型方法 AI技术 )参考 HTML Favicon 可以为HTML添加
favicon