这个问题我就不等大家的回答了,相信大家也明白,我并不是闲的无聊这么问。JS本身语法并不难,它困难的地方在哪呢?主要在于以下几点:
就是面对一个很具体的需求时,例如时,,一个网上商城吧,它内部的各种交互纷繁复杂。那么你是如何入手去写呢?前端架构也是需要设计的,这就看你是否理解网上商城的业务,能否把各种情况都考虑到,如果出现各种问题,那么它们是如何引起的?
经常看到有人说,不能在一个function里写超过多少行代码,但实际开发中某个单一业务的复杂度就是必须要写那么多那么多的代码。这就要求具有良好的代码书写习惯和构思,做到在单一方法中易于维护、修改、升级。
代码不是文字。3个月前你写的一段文章,你3个月之后再看,依然明白你写了些什么。但代码不是,很多时候不用3个月,3天之前你写的代码,3天之后你再看,你就完全不明白是什么意思了。
你看文字时,是直接读取含义。但你看代码尤其是别人的代码,(我只说我自己哈,牛人不算),多数时候要把它在脑子里翻译成中文,然后再把它们联系起来,才能明白这段代码的意思。但是,但是这段代码放在整个项目中是什么意思?谁在调用它?它是为处理什么情况而编写的?我依然是不知道的。这种情况在你加入一个已经存在的多人协作项目的时候,经常出现,你看半天都不知道别人写这段东西干嘛,然后不敢改不敢删的。
像你我这样普通人的大脑,基本上都很难像程序那样去处理一个N多变量的程序,无法做得到看一段代码,在脑子里把它的运算过程想一遍,就明白它是否有问题。人脑不擅长这个,就例如让你算一个288*193*435,你肯定要用计算器。咱不提那些神童,因为我们都不是。
程序要求所有的变量、代码都得是正确的,有一个错的,就是全错。但像你我这样的人,脑子里无法像内存那样去装载并模拟整个运算过程。其实就是脑子不够用,算不明白。所以需要调试嘛,需要console.log嘛,需要F5刷新看结果。所以生物的局限性导致编程天生就是困难的,这一点客观存在。
就是JS它不是一个直观的自然语言。不能看到什么就说什么。首先要会语法,语法不难。但你要能够用JS语言描述你看到的问题和需求。这里就有一个适合和转换的过程。
JS语言难不难,就说这么多了,只是希望大家能明白它难在哪里。