前端js相关(持续更新)

以后想搞什么,遇到以后可能要研究的知识,就要记住,所以在这里,会说一些跟浏览器有关的知识。

主流浏览器(内核):
IE(trident)
chrome(webkit/blink)
firefox(gecko)
opera(presto)
safari(webkit)

浏览器分为五个模块:
shell(像你浏览器的配置首选项啥的)
内核(灵魂)
渲染引擎(展示效果的引擎)
js引擎(执行js)
其他模块(异步呀网络等)

下面讲js特点,讲之前补充一个知识点:
编译性语言和解释型语言。
编译性语言:
一个代码文件,整个文件翻译成其他文件,然后交给计算机执行
解释性语言:
一个代码文件,翻译一行代码,就拿去执行
前者因为是一次翻译,一次执行,所以要比后者多次翻译多次执行,速度要更快;
前者因为需要生成中间文件,所以移植性不如后者直接翻译后执行。
什么?你说java不是编译性语言吗,你别看java会编译成.class文件,但是人家有jvm呀,不然你以为c和c++为啥会被java打的那么惨。jvm会将.class文件一行一行的执行,所以呀,java是解释性语言。
再拓展一下,python和php都是解释性语言。

ok,现在可以说js的特点了,
首先第一条,JavaScript是一个解释性语言。
然后JavaScript是单线程执行的。
什么,你对第一条没疑问,但是对第二条有疑问了?
明明一个界面上有多个JavaScript控制的特效同时运行,你告诉我单线程???
那我就解释一下吧:
JavaScript会将多个任务,比如AB任务,分成很多个小任务,可能会根据毫秒划分为A1、A2、A3等等。B也是这样。然后这一对小任务,随便抢,谁抢到算谁的,反正我就一个执行队列。最终实现效果就是A任务先执行1毫秒的,B任务在执行1毫秒的,反正随机。
因为这个毫秒太短,你是看不出的,所以你会觉得,两个任务是并发执行的。
这个科学的解释叫“轮转时间片”,但是上面的例子已经很形象了,要是还不懂,只能去搜索“轮转时间片”了解了。

再说一下什么叫es,JavaScript又叫ECMAScript,ECMA是JavaScript的标准,所以也叫做es。
实际而言,
JavaScript应当等于被标准化ECMAScript+用于操作文档的DOM+浏览器操作的BOM。这也是JavaScript学习的三个阶段吧。
我是不会告诉你ECMAScript是最难的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值