一、JavaScript的执行机制
1、在之前的博客中我们提到过JavaScript是一个弱类型语言,所以它的变量不需要指定类型,变量的类型由变量的值决定。
2、JavaScript是一种脚本语言,解释执行,效率较低
3、JavaScript是一个单线程的,同一事件只能做一件事,后面我会写一篇专门的博客介绍什么是线程以及线程中的单线程和多线程分别是什么。
4、同步:前一个任务执行结束后在执行后一个任务,程序顺序和任务排列的顺序是一致的。
5、异步:做一件事的同时可以去处理其他事情。
//异步执行
console.log(1)
setTimeout(function(){
console.log(3)
},3000)
console.log(2)
6、执行机制:
(1)、执行栈:放置的是主程序的流程(单线程的)
(2)、任务栈:放置的是回调函数(异步执行的函数)
console.log(1)
setTimeout(function(){
console.log(3)
},0)
for(let i = 0,str='';i<=900000;i++){
str +=i
}
console.log(2)
二、loncation对象
1、URL:
指统一资源定位符
URL协议:协议://主机名(域名):端口号/路径?参数
1.1、http://loncalhost:8089/findAll?id=1002&name=张三
loncalhost:是本地机的名字,一般来说对应的ip地址是127.0.0.1
?
:指分隔符,作用是将路径和参数分开
&:也是一个分隔符,作用是将参数与参数隔开
id和name是参数名:是可变的
1002和张三是参数值
1.2、http://www.hao123.com --> http://www.hao123.com:80/index.html
http:协议;超文本传输控制协议
https:是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。
www.hao123.com:域名代表主机(主机名),也可以是ip地址
80:端口号/路径(默认)
index.html:是默认的文件名
2、属性
2.1、location.href:完整的url
<body>
<button>跳转</button>
<script>
let btn = document.querySelector('button')
btn.addEventListener('click',function(){
location.href = 'http://www.hao123.com'
})
</script>
</body>
2.2、loncation.search:url中’?'之后的部分(query部分)
举例:
index.html模拟服务器页面
<body style="text-align:center;">
<div></div>
<script>
console.log(location.search)
let per = location.search.substr(1)
let arr = per.split('=')
document.querySelector('div').innerHTML = arr[1]+',欢迎您!'
</script>
</body>
form表单代码:
<body>
<form action="index.html">
用户名:
<input type="text" name="userName">
<input type="submit" value="登录">
</form>
</body>
结果:
2.3、location.host:代表主机名和端口号。
2.4、location.port:代表端口号。
2.5、location.hostname:返回一个主机名字。
2.6、location.protocol:代表协议。
2.7、location.pathname:代表路径。
三、history对象
1、常用属性
history.ldngth:返回历史列表中的网址数
2、常用方法
back():加载history列表中的前一个url
forward():加载history列表中的下一个url
go():加载history列表中某个具体的页面