JavaScript 执行原理浅析



                   

/*最近在看公司的代码,发现公司的前端主要功能都是由js实现的。以前觉得js只是开发html采用的,始终抱有一种轻视之心。了解之后才发现js也是十分强大的.*/


一、JS是什么?

JavaScript是一种动态、弱类型、基于原型的语言,通过浏览器可以直接执行通过这段话我们得到一下两个信息

第一 JavaScript 是一种语言,既然是语言那么功能必然强大,不可有轻视之心。(目前国内的ATM终端,基本都是靠js操作的)

第二 javaScript是通过浏览器执行的,浏览器之于javaScript 如同JVM之于JAVA。


二、 JS是如何执行的?


因为JS作为脚本语言嵌入在HTML中,要想了解JS的执行方式,首先要知道HTML文件是如何执行的。

当我们在浏览器中输入 http://xxx.xxx.com/index.html,点击提交之后。浏览器会向服务器发送请求报文,服务器收到把被请求的“index.html”文件返回给浏览器。

浏览器加载“index.html”文件,解析HTML标签,根据标签完成相应的动作(如:IMG、SRC等时,向服务器请求相应资源。) 然后显示在浏览器窗口中。

以下是一个从网上摘抄的例子,明白了的同学可以直接跳过

首先客户端发送请求:http://localhost:8080/index.html。实际上发送的数据是:
GET /index.html HTTP/1.1
Accept: **
Referer: http://localhost:8080/index.html
Accept-Language: en,zh-cn;q=0.5
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (MSIE 7.0; MSIE 7.0; Windows NT 5.1; InfoPath.1)
Host: localhost:8080
Connection: Keep-Alive
服务端把图片在发送给客户端。
然后当他解析到新的特殊标签<img 的时候,再次发送请求:
GET /images/logo.gif HTTP/1.1
Accept: */*
Referer: http://localhost:8080/index.html
Accept-Language: en,zh-cn;q=0.5
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (MSIE 7.0; MSIE 7.0; Windows NT 5.1; InfoPath.1)
Host: localhost:8080
Connection: Keep-Alive
服务端把图片在发送给客户端。

当浏览器遇到<script> 标记的时候,浏览器会执行之间的javascript代码。嵌入的js代码是顺序执行的,每个脚本定义的全局变量和函数,都可以被后面执行的脚本所调用。 变量的调用,必须是前面已经声明,否则获取的变量值是undefined。


Javascript里面都是对象,必须有一种机制,将所有对象联系起来



...

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值