JS灵魂之问:JS为什么是单线程的?

  • 时间:2018-06-06 01:45 作者:前端科技 来源:前端科技 阅读:166
  • 扫一扫,手机访问
摘要:相信每个前台开发者都知道JavaScript是单线程的。为了避免脚本执行阻塞页面加载,我们都知道要把js脚本放在HTML尾部,先加载CSS样式,而后再执行JavaScript脚本。可是为什么要把JavaScript设计为单线程语言呢?多线程不是能充分利使用CPU资源,加快执行速度吗?Brendan

相信每个前台开发者都知道JavaScript是单线程的。为了避免脚本执行阻塞页面加载,我们都知道要把js脚本放在HTML尾部,先加载CSS样式,而后再执行JavaScript脚本。可是为什么要把JavaScript设计为单线程语言呢?多线程不是能充分利使用CPU资源,加快执行速度吗?Brendan Eich创造JavaScript的时候是怎样想的呢?

JS灵魂之问:JS为什么是单线程的?


JavaScript诞生的目的就是在网页上执行脚本程序。作为浏览器脚本语言,JavaScript的主要使用途是与使用户互动,以及操作DOM。这决定了它只可以是单线程,否则会带来很复杂的同步问题。考虑到网络和计算机的影响,这种同步问题很难很难处理。

比方,两个线程都去操作页面元素,那以哪个线程的操作结果为准呢?所以,为了避免复杂性,从一诞生,JavaScript就是单线程,这已经成了这门语言的核心特征,将来也不会改变。

为了利使用多核CPU的计算可以力,HTML5提出Web Worker标准,允许JavaScript脚本创立多个线程,但是子线程完全受主线程控制,且不得操作DOM。


JS灵魂之问:JS为什么是单线程的?

所以说JavaScript单线程的设计是因为它的功可以定位决定的,作为在浏览器上执行的脚本,为了保持可开发性,可维护性,单线程就是最好的选择。

假如你觉得本篇文章对你有帮助,欢迎点赞,转发。

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】什么是HTML5前端开发?HTML5前端要学哪些技术?(2019-07-21 11:47)
【系统环境|】2019年web前端开发技术框架有哪些(2019-07-20 12:06)
【系统环境|】什么是Web?零基础能不能学Web前端开发?(2019-07-19 07:04)
【网页前端|HTML】为什么学Web前端?选择Web前端理由(2019-07-17 20:28)
【网页前端|JS】Java面经-百度新入职老哥整理近半年学习经验,面试刷题路线!(2019-07-16 22:16)
【网页前端|HTML】最全面的前端开发指南(2019-07-15 12:57)
【系统环境|数据库】零基础如何快速学好大数据?(2019-06-29 12:27)
【系统环境|Linux】零基础如何学好大数据?必备需要学习知识(2019-06-18 11:54)
【系统环境|】Hadoop环境中管理大数据存储八大技巧(2019-06-15 11:01)
【系统环境|服务器应用】现在国内IT行业是不是程序员过多了?(2019-06-11 06:34)
手机二维码手机访问领取大礼包
返回顶部