一些容易对JavaScript产生误导的看法

JavaScript 2014-12-21 JavaScript,误导

年底,程序员越来越难招,不仅大牛不容易,普通的也不容易。要么不想动,要么是想熬过年领了年终奖再说。于是最近的招聘范围只好从社会招聘转移到培训机构,然而在培训机构面试大部分即将要结束学习课程的学生,他们大多对JavaScript存在以下一些看法,其中一些更是有不少从业多年的也会存在对JavaScript认识不正确的看法。

一、认为JavaScript是前端语言

存在这个观点人太多太多了,曾经我也是这样认为,如果编程从业早点的程序员有这个看法很正常,而如果刚踏入这个行业把JavaScript当作入门的主语言却存在这个看法的程序员,就不太专业了。首先,JavaScript是一门强大的编程语言,最早是运行在浏览器端,而绝大多数的程序员所写的代码几乎都是浏览器端运行的,所以他们一直认为JavaScript就是前端语言。而现在JavaScript是可以在服务器端运行,俗称后台语言,那么最著名的应该就是09年出道的nodejs,如果你是一个专业写JavaScript的程序员,却不了解nodejs的话,赶紧花几个小时把它科普一下吧。

nodejs作为后端语言存在以下几个优越性:

1、V8引擎,这可不需要我给大家说了,对JavaScript感兴趣几乎都知道

2、事件驱动,这点不需要我解释了,可以利用DOM上的click等事件去想想

3、Nodejs非阻塞,也可以称为异步(这点是非常强大)

4、RESTful,nodejs提供底层的http请求处理方式,get|post|put|delete

二、认为JavaScript不能连接数据库

就拿nodejs来说吧!

1、可以运行在服务器端当webserver

2、nodejs可以连接数据库,包括大家最常用的MySQL、Mongo、Redis等等

3、nodejs可以读写服务器上的文件

4、可以发出curl抓取任何url的响应

前端语言和后端语言的区别最主要是看它能不能干这四件事,在浏览器端运行的脚本为了客户端的安全,浏览器自然会限制它有以上这四种能力,而运行在服务器端,以上四种能力是必须的。

有些童鞋可能会问,为什么浏览器端的要限制它有这四种能力?

试想,如果浏览器端也具备以上4种能力,那JavaScript早就走不到今天了,比如我写了一个站点,让大家都来访问,但是我背后偷偷干一件事情,偷偷把客户端上磁盘里存储的文件都读出来并发到我的邮箱上,这个后果大家不用想都知道了。。。

那有没有浏览器端运行的东西具备这种能力呢?

答案是肯定的,那就是插件,比如我写了一个插件让你装上,于是我就可以通过我写的插件去读取你的磁盘上每一个文件,我甚至还可以新建文件夹,写内容等等。所以为了保护客户端的安全,所有要安装的插件几乎都是要经过签名的,否则不让你安装,个别浏览器也开放了最大权限,即使不经过签名,你强制安装它也允许,但如果发生了安全的事件,得自己负责了。

三、认为JavaScript跟Java有关系

它两一点关系都没有,市场上很多JavaScript的书籍都对这个问题做了清晰的解答,以及Wiki上也有,我就不Copy过来了。

四、认为JavaScript很简单

有这个看法的人,几乎都是主要在从事其它语言开发(C\Java)的程序员有一定年限,思想比较禁锢,估计偶尔为了一些简单的页面效果,事件就写一些简单的JavaScript代码,他们甚至会有些看不起写JavaScript的人,认为写JavaScript不是真正的编程。

其实这部分人并没有真正了解JavaScript这门语言,不少专门写JavaScript的书并不比C/Java的书薄,你甚至要花一定的时间去认真读懂,在实际项目中用到,你才能感觉到JavaScript的强大之处。事实上写习惯了强类型语言的人都感觉弱类型的语言都不是编程,比如写C的人再过来写PHP,它会认为这是垃圾。事实上,随着编程语言的发展,几乎很多新出语言都是弱类型,你不需要花精力去算这个变量要占用多少内存,不需要花精力去垃圾回收节省内存,你只需要集中精力在程序设计上就好。

五、认为JavaScript的薪资低

这个问题在几年之前,确实如此,而这两年已经发生了非常大的变化,甚至出现高薪招不到人。大家如果登录招聘网站上看,一些招聘资深JavaScript给出的薪资也并不低。

五、认为写JavaScript的都是写页面

这个问题,上面已经有答案,所以再补充一下,未来写JavaScript的将大致分为一下几种:

1、写页面动态交互效果的

2、写有关图形绘图与布局的,大家可以了解了解WebGL,SVG,Canvas

3、写业务逻辑的,这个可以是在浏览器端,也可以是在服务器端

六、认为jQuery就是JavaScript

这个问题留给有这个意识的这部分童鞋,请这部分童鞋好好看书,了解了解它两之间有什么区别,是什么关系。

其实这个也侧面说明了一个问题:

1、jQuery普及面太广了,太强大了,太有名气了

2、其实他们可能没写过JavaScript,一上来就直接写jQuery里了

最后

我之前主要写PHP,后来就主要在写JavaScript与Python。以上列的几条,只是拿了一些普遍存在的问题做了说明,纯属个人观点,如果你对以上看法存在不同意见,请不要喷我。

(本文完)

文字链接:《一些容易对JavaScript产生误导的看法

文章地址:http://www.qttc.net/201412455.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 5