JS简介
脚本语言
js起初是运行范围仅限于浏览器上的一种脚本语言,用于网页的一些复杂逻辑的解释,由于运行范围仅限浏览器,使得这门语言更加注重逻辑的高效表达而非计算机硬件层面的事务。于是也就有了一则关于各种语言的笑话
一个人去餐厅点一份牛排,
服务员C:牵来一头牛,并递给顾客顾客一把大刀,笑道:”请享用!“
服务员C++:牵来一头牛,并为顾客递上了主厨刀、削皮刀、剔骨刀、片刀、砍刀、美工刀……堆满一桌,笑道:”请享用!“顾客一脸懵逼中…但见邻桌老大爷挥舞双截棍的英姿飒爽,便用起美工刀切出一块完美的牛排,模仿了起来……而后来他住院了……
服务员Java:端上牛排和餐具,顾客正要享用时,开始详细介绍吃牛排的步骤,事无巨细,喋喋不休,三个小时后才能开始切牛排,N小时后顾客吃了起来。吃的正开心时,忽然,服务员大吼一声:”停!“,一队清洁工走到顾客身边开始打扫卫生,吸地擦桌,好不热闹,过了好一会儿,服务员才说道:”请继续享用!“
服务员JS:端上一块猪排,笑道:”您闭上眼睛吃,想着它是牛排,它吃起来就跟牛排一模一样!“
同时,由于js在浏览器上的运行需要一个及时性,所以js运行可以没有语法检查,只有在运行的过程中才能看到语法出错的地方
发展
而后随着互联网的发展
- 首先是需要对js语法有一个统一的标准规范(详细见早期的三大script),ECMA这一组织完成了这项伟业,统一了市面上全部的js语法,制定出了js的ES语法规范,包括目前常用的ES5,ES6(目前绝大部分浏览器包括nodejs都仅支持ES5,二者区别),es的标准也给了js一个基础的代码规范和语法检查的能力(eslint)
- 再者是对js的
运行速度
的提升有着极大的需求,众所周知,计算机中脚本语言的速度是永远落后机器语言几条街的,于是浏览器界天花板——谷歌,便完成了把脚本语言编译为机器语言这样的一项伟业,v8引擎由此诞生,基于v8引擎的nodejs也应运而生,nodejs以其优秀的异步处理,高效的运行在后台占据一席之地
甚者还有微软推出的js的超集——typescript,以C语言级别语法规范来约束js的编写。
开发环境
前后端js开发都需要安装一个nodejs的环境,虽然理论上来讲,开发前端的js是不需要配置任何环境的,js是一种所有移动设备(手机电脑等)都安装了其解释器的语言,只需要新建记事本文件,更改其后缀为html,在其中编写<script></script>
字段,即可开始js前端开发(bushi),但这种方式是及其落后和低效的,(后期会讲webpack的前端开发方式)
一般来说node通过这个下载地址下载安装即可,安装完成后,使用node -v
查看node版本号,检查是否安装成功,编写一个简单的console.log("hello world")
的index.js文件,使用node index.js
即可查看node是否可以正常运行js文件,好了可以开始node后端开发了
但是,并不是所有的js项目使用的node都是同一个版本(例如npm v6.9在node12环境下运行就会报错),我们需要一个可靠的node版本管理工具,在此推荐——
nodist/nvm
其中,nodist为windows下的node版本管理工具,nvm为Linux版,具体使用方式见链接。
注意:安装前将之前已安装的node卸载干净,否则会有命令冲突!
在此只大概介绍nodist的使用方式:
更换node版本(例如12):
nodist 12
设置nodist镜像:
设置环境变量NODIST_NODE_MIRROR=https://npm.taobao.org/mirrors/node NODIST_IOJS_MIRROR=https://npm.taobao.org/mirrors/iojs
更换node位数(32或者64)
设置环境变量NODIST_X64=1 64位 NODIST_X64=0 32位
node安装完成后,会自带一个npm的命令行,npm是js项目以及项目依赖包的管理工具,和java的maven以及python的pip类似。
npm的使用方式可查看此链接,我们开发工程项目,一定是离不开一大群外部好心人的帮助的,仅凭自己的力量是无法写出项目所需要的全部轮子,npm有着一个庞大的轮子社区,大到任何我们能想到的需求在这里都能找到完美的实现,随时可以通过npm install
来安装我们需要的包。npm是一个庞大的社区,但是npm命令行有时会存在一些使用上的问题,例如下载速度的问题,可以通过修改为淘宝镜像的方式命令解决:
npm config set registry https://registry.npm.taobao.org
但是还会存在一些运行稳定性的问题,这时建议使用Facebook公司的一帮带善人开发的——
yarn
yarn为完全兼容npm的替代指令,但也有少许不同,yarn-npm命令行对照表,其实类似的工具还有很多,例如国内淘宝公司开发的cnpm,虽然下载速度上确实甩开yarn、npm一大截,但是稳定性远不如yarn,经常会有安装失败或下载的包无法正常使用等问题
yarn的安装方式和一般的npm包一样,全局安装即可,使用命令:
npm install yarn -g
同样安装完成后,使用-v命令yarn -v
来查看yarn是否安装成功
这样以来,js的开发环境就基本上搭建好了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。