JavaScript的执行机制

一、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列表中某个具体的页面

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值