发表于: 2019-05-21 21:29:59
1 866
今天完成的事情:
1.继续学习JavaScript高级程序设计
2.研究js任务3后的深度思考
明天计划的事情:
1.继续学习JavaScript高级程序设计
遇到的问题:
暂无
收获:
1、关于js变量存储
例如:
var a = 100;
func();
function func(){
console.log(a);
var a=200;
console.log(a); //200,为什么不是100?
}
JS变量类型是松散型,松散型的意思并不是说JS变量就没有变量类型,而是其变量类型是在运行时才进行确定
函数声明提升就说明JS在运行之前还会经历另外一个过程:预加载。(有些地方也叫作预编译)在预加载阶段,JS主要对全局作用域、函数的运行环境以及作用域链等进行准备,这里的函数运行环境就是指:读取变量定义并确定其属于哪个作用域,但不会为其赋值!
在预加载阶段,第一行的时候定义了一个全部变量a,然后到了第7行,又给func定义了一个局部变量a,
这个时候变量并未赋值,值均为undefined。到了运行阶段:第一行给全部变量a赋了值:100,等到执行func函数的时候,需要使用a变量,JS当然是先查找func的局部变量了,预加载阶段已经为func定义了一个局部变量a,所以JS当然不会继续往全局进行查找了,但是使用的时候才发现居然没有值,也就是undefined!等到第7行JS才给局部变量a赋值。
JS分为预加载和执行期两个阶段,前者只会确定变量的作用域,在执行期才会对齐进行赋值,同时也就确定了变量的具体类型
2、HTTP请求过程,通常有以下7个步骤:
(1)建立TCP连接;
(2)Web浏览器向Web服务器发送请求命令;
(3)Web浏览器发送请求头信息;
(4)Web服务器应答;
(5)Web服务器发送应答头信息;
(6)Web服务器向浏览器发送数据;
(7)Web服务器关闭TCP连接。
一个HTTP请求一般由四个部分组成:
2、HTTP请求一般由四部分组成:
(1)HTTP请求的方法或动作,比如是GET还是POST请求;
(2)正在请求的URL,总得知道请求的地址是什么:
(3)请求头,包含一些客户端环境信息,身份验证信息等;
(4)请求体,也就是请求正文,请求正文中可以包含客户提提交的查询字符串信息,表单信息等等。
3、HTTP请求的分类
(1)GET:一般用于信息获取;使用URL传递参数;对所发送信息的数量也有限制,一般在2000个字符。
(2)POST:一般用于修改服务器上的资源;对所发送信息的数量无限制。
3、HTTP响应的组成
(1)一个数字和文字的状态码,用来显示请求是成功还是失败;
(2)响应头,响应头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等;
(3)响应体,也就是响应正文。
评论