JavaScript能做什么?
JavaScript除了做前端开发,还能做什么?
很多朋友学习的第一门编程语言就是JavaScript,学习的过程中一定会思考这个问题:“JavaScript除了做前端开发,还能做什么?”其实很多人问这个问题的时候,潜意识是有一些懒惰的嫌疑,希望JavaScript能做的事儿越多越好,这样我们专心学好JavaScript,就可以成为万金流,什么都能做,就再也不用管什么java、php、python等等编程语言了。
那我们在思考JavaScript能做什么之前,先看看下面这个问题:
厨房里的一把菜刀除了切菜还能做什么?
夜里带着能防身;
白天带着能装B;
背面可以开坚果;
而且还能起啤酒;
家里装修可以切木头;
侧面还能钉钉子(硬拍);
放在地上可以垫桌脚;
总之,发挥你的想象力,这把刀可以做无数事情,但是,99%的人都用它来切菜,因为它最适合做的就是切菜。
~~~~~~开个玩笑,回归正题~~~~~
JavaScript能做什么?
做前端开发,这个不用说了
写后台,随着node的兴起,用JavaScript写后台也是一种选择
写游戏
机器学习
操作系统
写编辑器,下面是尤雨溪针对编辑器Atom的一段回答
今天拿到邀请试用了一会儿,可以明确的说跟 Sublime 没有关系。Sublime 是原生界面,脚本用的是 python;Atom 应该是基于 Chromium Embedded Framework,基本上就是个 web app,源码都是 CoffeeScript 写的,连界面都可以用 CSS 来自定义。
你能想到的应用场景,JavaScript都能写,但是我还是推荐新手朋友们,就用它来做前端开发。
有人一定会说有了node,JavaScript做前端开发也会成为主流。
就目前的形式来看,node成为主流后台开发技术的可能性不是很大,然后咱们再来讨论一下新手是否适合从node开始学习后台。
新手不建议用node专职做后台
(先定义一下新手:)
(没有系统学习过web后台知识)
(熟练掌握html与css)
(可以熟练使用JavaScript和jQuery做出简单的网页效果)
(对模块化组件化的开发有所了解)
(熟悉http协议,熟悉ajax)
当前的前端生态是在node的基础上搭建起来的,所以做前端开发一定要了解node。但是如果觉得了解了node,就了解了后台,这可是严重的错误,后台的知识体系不仅仅是掌握了这门语言就能搞定的。
前端新手朋友们可以自己用node写接个后台接口,处理http请求,但这仅仅是为了解决前后台数据交互的问题,而不是正真掌握了后台知识。如果真正想学web开发的后台知识,从java、php、python入手,都优于node。
为什么新手不适合从node入手后台
随着node的兴起,基于node的后台解决方案日新月异并且不断完善,但是毕竟仍是刚刚兴起的技术(node在09年发布,13至14年开始逐渐被大家关注),这样的新技术,对于资历老的后台玩家可以很开心地在其中快乐地玩耍,但是,对于一个没有后台开发经验的你来说,这样的环境对你是相当不友好的。大家在讨论异步IO的性能问题,你可能还在测试如何接到这个请求的参数;大家在讨论node的mvc框架,你可能还没有掌握如何操作数据库。那些有后台基础的老司机告诉你,用node做后台是绝对没问题的,但是你要踩多少坑,补多少基础知识才能真正学会后台,只有你自己自己知道,相对于其他主流后台语言,学习成本和试错成本都要低于node。所以,如果你想学后台,不要从node开始。
我们用JavaScript做什么?
先用JavaScript把前端开发做好,然后可以适当学习一个后台语言,掌握一些后台知识,然后如果喜欢node,可以深入研究,但是千万不要抱着一种幻想:“有了JavaScript,什么都可以用JavaScript完成”,这样的想法只会妨碍自己在技术的道路上不断发展。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法