javascript学习笔记



Javascript执行顺序

1)默认情况下,浏览器是从上到下解析html,当javascript嵌入html中,也会按照这个顺序,从外面引入的js文件也不会改变这个顺序。

2)当解析到javascript则会调用js解析器,通常js解析器是先预编译,在解析执行,(解析器对函数和变量的声明进行了预编译)。


解析器先预编译变量(在内存中声明了,初始化成undefined),所以第一个num并没有报错;但是却并没有给它赋值,所以第一个才会没有显示1,变量的赋值是在解析的时候执行。



因为先对函数的声明进行了预编译,hello在声明之前调用并不会报错。


当有函数名相同时,后面的函数会覆盖前面的函数。



3)解析器是按照script片段来解析的,先预编译第一个script片段,然后执行,再然后预编译第二个script片段再执行。




注意:函数还可以这样声明



但是像这样声明不能将调用放在前面,因为这样算是变量的赋值,赋值在解析的时候进行的。



(第二个调用跟第一个相同)


4)在解析执行某个script代码片段时,如果此代码有问题,则会停止执行当前sript片段,但不会影响后面的script片段的执行。



5)因为变量变量在不同的代码片段中可以共享,因此局部变量因当放到函数中。

           <script type="text/javascript">
//对函数预编译的演示
var num=1;

</script>

<script>
  console.info("num="+num);

</script>


听课: 51CTO 大头娃老师

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值