JavaScript为什么这么难?

开发 前端 新闻
只有真正的javascript程序员才知道javascript太难了。其他程序员都觉得javascript是门玩具语言。

 只有真正的javascript程序员才知道javascript太难了。其他程序员都觉得javascript是门玩具语言。 

[[275398]]

难点

  • 隐式转换

javascript的真值表,可以体验一下。

JavaScript为什么这么难?

 

JavaScript为什么这么难?

 

  • this指向问题

javascript中的this不是静态绑定的,而是动态绑定的。而且可以人为改变指向。

看看下面这个例子

JavaScript为什么这么难?

控制台将输出什么?

  • 闭包

javascript中的作用域是可以通过向上查找的,通过闭包可以让函数引用底层的作用域变量,可以在高层访问底层的作用域。好象没什么难得。

看看例子

JavaScript为什么这么难?

这个例子输出什么?

  • 作用域链

作用域链没什么好说的,直接上代码

为什么输出的undefined,不懂的自己去找原因。

  • 原型链

javascript使用一种非主流的对象机制,基于原型链的对象继承机制。这需要我们抛弃很多语言的Class的思想。认真研究下这个原型链。

JavaScript为什么这么难?

理解在对象构造器中this.getName,A.prototype.getName,和A.getName的区别。

  • EventLoop

javascript中代码不像很多其他语言一样,代码是顺序执行的。不管是浏览器中还是Nodejs中都存在一个EventLoop。让代码编码变得不可控。Nodejs中难度更是成倍增加。

例子:

JavaScript为什么这么难?

思考一下,运行结果是什么?

总结

javascript的难点还没有全部一一列出。javascript是一门支持多范式的编程语言,说白了就是大多javascript都没有统一规范,加上javascript高度灵活性,各种奇淫巧技,导致很多代码难以阅读。很多难点都是javascript本身自身缺陷造成的。很多优秀实践其实就是ES6,ES8,ES9...。

责任编辑:华轩 来源: 今日头条
相关推荐

2017-01-23 13:08:46

大数据客户画像技术

2020-11-10 22:53:54

oracle数据库

2020-12-10 13:37:08

人工智能人机融合

2020-12-08 05:41:46

人工智能人机融合机器学习

2020-02-28 16:10:13

携号转网运营商中国电信

2018-06-22 07:51:13

2020-11-19 15:34:47

前端招聘开发

2011-05-12 14:57:58

2022-06-12 23:36:26

微服务架构单体应用

2022-09-16 10:14:41

消息顺序性分布式架构

2012-11-27 10:36:19

公有云Azure数据中心

2019-08-08 16:39:37

ERP信息化中小企业

2022-09-19 16:38:59

数据产品SaaSSnowflake

2022-06-10 14:13:43

数字化转型企业IT中小企业

2020-02-27 21:03:30

调度器架构效率

2022-06-13 21:52:02

CDN网络节点

2018-08-16 08:03:21

Python语言解释器

2020-02-27 15:44:41

Nginx服务器反向代理

2013-03-04 10:10:36

WebKit浏览器

2024-02-26 21:15:20

Kafka缓存参数
点赞
收藏

51CTO技术栈公众号