分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

js的运行机制。

发布时间:2023-09-06 02:24责任编辑:胡小海关键词:js运行机制

一:什么是线程?

1.比如打开一个浏览器,它就是一个线程,在这过程中,浏览器发送请求,接收数据,渲染页面,执行js,等等这些都是线程。

二:线程分为几种?

1.单线程:是指一步一步按照队列去执行。

2.多线程:可以同时执行,互不干扰。

三:js属于什么线程?

1.根据js本质,我们在进行一个线程对dom节点进行数据读取的时候,同时另外一个线程将dom删除,那么就会引起冲突。

2.单线程是一步一步按顺序执行的,执行此代码会出现阻塞:

while(1){}alert(‘hello‘);

进入死循环,无法执行alert(‘hello‘);

为了利用多核CPU的计算能力,HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,这个新标准并没有改变JavaScript单线程的本质。

3.综上所述js属于单线程!

四:执行栈

1.为了实现js执行时的单线程,js引擎维护着一个执行栈(先进后出)。

sayHello();function sayHello(){ ???var message = getMessage(); ???console.log(message);}function getMessage(){ ???return ‘hello‘;}

此代码执行栈过程(执行上下文):1.全局先进栈,2.sayHello()再进栈,3.getMessage()再进栈,4.console.log()再进栈,5.console.log()出栈,6.getMessage()出栈,7sayHello()出栈,8.全局出栈。完成!

js的运行机制。

原文地址:https://www.cnblogs.com/MJ-MY/p/10025371.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved