JavaScript螺纹的问题和答案

要求:

JavaScript是单线程的,有任务队列。比方使用setTimeou(func,secs)来在secs毫秒后向任务队列加入func。可是,setTimeout后面跟一个死循环,那么死循环导致任务被堵塞,也就是说func不能运行。
我想请教一下:死循环在运行的时候,secs毫秒过去的时候,func是否被加入到任务队列中?假设加入了,但JS是单线程的,不是在这个线程中加入的,那在哪里被加入的?求大神解答下,找乐非常多东西,都是和JavaScript高级程序设计上的说法一样.

答:

原因是 JS 是单线程的。可是浏览器是多线程的。甚至是多进程的。
所以。同一个标签页,仅仅有一个解释器。可能iframe有多个吧。。。

加入维护是其它线程干的事,运行是单线程解释器干的事。
就如同Java,有反射机制吧,window 是一个 host宿主对象。也就是他自身使用 C语言实现的。不在 JS的解释器线程控制之内,仅仅是进行交互。所以。。。 你明确了吧,逻辑上JS是单线程,但实际上有非常多个其它的线程在辅助这个解释器。
实现细节上仅仅要能保证单线程的逻辑完整性即可了

关于句柄 handler的一些理解:

句柄。

handler,事实上这个词翻译的挺形象的,尽管不太好理解。
你能够理解成电视机的遥控器,遥控器在手。就相当于获取了电视机这个对象,想让电视机干什么。那就操作这个“电视机对象” 即可。
持久化,一般来说就是指存到数据库;在内存里,就不叫持久化。

重新启动后还光临。那是的持久性。

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-11-15 05:09:09

JavaScript螺纹的问题和答案的相关文章

JavaScript基础知识问答题(答案仅供参考)

 php高中班javascript答辩题目 什么是javascript?  答:Javascript是一种专门设计用来增强网页交互性的脚本语言,它也是一种解释型语言. Javascript与C语言的不同?  答:Javascript是一种弱类型的语言,并且是解释型语言. Javascript能做什么?  答:通过javascript我们可以对HTML元素进行编程控制,包括增加.删除.修改元素以及元素属性等能力:可以在HTML网页中放入动态文本:响应用户在使用网页时的事件:用于校验用户输入的数

2014年辛星解读Javascript之DOM之事件及其绑定

我们通过DOM的事件能够对HTML的事件作出反应.就像我们用其它编程语言写GUI一样,那么HTML包含哪些事件呢?以下是几个常见的样例,比方网页已经完毕记载,图像完毕载入,鼠标移动到元素上方.输入文字被改变.表单提交.用户点击按键等等,还是蛮多的. 以下我们用实例来演示一下,看以下的HTML代码: <html> <p id = "tag" onclick="this.innerHTML ='小倩' ">辛星</p> </ht

C#代码与JAVASCRIPT函数的相互调用

问:1.如何在JavaScript访问C#函数?2.如何在JavaScript访问C#变量?3.如何在C#中访问JavaScript的已有变量?4.如何在C#中访问JavaScript函数? 问题1答案如下:javaScript函数中执行C#代码中的函数:方法一:1.首先建立一个按钮,在后台将调用或处理的内容写入button_click中;        2.在前台写一个js函数,内容为document.getElementById("btn1").click();        3.

【转载】如何在 C#中访问 JavaScript函数?

如何在 C#中访问 JavaScript函数? 时间:13-10-17 栏目:Unity3D教程 作者:zqcyou 评论:0 如何在 C#中访问 JavaScript函数?答案如下:c#代码中执行 javaScript函数: 方法一:1. 1 Page.RegisterStartupScript("ggg","<script>SetVisible(1);</script>"); 方法二:使用 Literal类,然后 1 2 3 4 5 6

1.JavaScript面试

1.1. 简要描述 JavaScript 的数据类型?   参考答案:   JavaScript 的数据类型可以分为原始类型和对象类型. 原始类型包括 string.number 和 boolean 三种.其中,字符串是使用一对单引号 或者一对双引号括起来的任意文本:而数值类型都采用 64 位浮点格式存储,不区分整数和 小数:布尔(逻辑)只能有两个值:true 或 false. 复杂类型指其他对象,如 Array.Date.Object 等. 除此之外,JavaScript 中还有两个特殊的原始

[译]JavaScript需要类吗?

[译]JavaScript需要类吗? 原文:http://www.nczonline.net/blog/2012/10/16/does-javascript-need-classes/ 译者注:在我长达一年的工作生涯中,我遇到过有人把构造函数称做类,还有人把对象字面量称做类.这比把火狐扩展叫成插件都令我*疼.下面是Brendan Eich给今年的jsconf.eu录制的视频,其中提到了类. 无论你喜欢还是不喜欢,ECMAScript 6中将会包含类(class)这个新东西了[1].在JavaSc

JavaScript需要类吗?

在我长达一年的工作生涯中,我遇到过有人把构造函数称做类,还有人把对象字面量称做类.这比把火狐扩展叫成插件都令我*疼. 无论你喜欢还是不喜欢,ECMAScript 6中将会包含类(class)这个新东西了[1].在JavaScript中,对类的需求一直都有两极分化的趋势.有些人特别喜欢JavaScript中没有类,因为这和其他语言不同.另一方面,还有一些人厌恶JavaScript没有类,因为这和其他语言不同.那些从C++或Java转到JavaScript的人们最需要克服的一个心理障碍就是"Java

译-2018年该学哪一个JavaScript框架?

首先我要定义一下我心中的代码框架,因为这个词存在争议.我认为框架是一个库(注:个人不太同意这个说法),它定义了每一个方面或层的结构,使创建应用程序的任务变得更容易.从层上说,我指的是数据库.模型.控制器.视图.表现层.网络,等等...... 框架尝试去解决在应用中经常遇到的绝大多数大且已知的问题.它们内置了许多你不需要关心的设计决策,它们同样也有精心制定的指导方针. 好的框架有巧妙的默认值以及遵循约定而不是配置的概念,在这方面做得好的是 Ruby On Rails 框架,同时也是我最喜欢的框架之

web前端知识总结

1. 前言 大约在几个月之前,让我看完了<webkit技术内幕>这本书的时候,突然有了一个想法.想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的是想要颠覆人们对于前端只有三大块(html.css.js)的认识--做web前端需要的比这三大块要多得多. 拖了好几个月了,但是由于近期将要参加的某一个活动,我不得不这两天把这个东西整出来. 大家不要害怕,其实下文中的这个知识框架要比草图中的好看的多,草图大家权当没看见. 在看内容之前,先看一下这个知识框架的