1:什么是回调函数?

2:什么是同步异步

3:什么是I/O

4:什么是单线程/多线程

5:什么是阻塞/非阻塞

6:什么是事件

7:什么是事件驱动

8:什么是事件驱动的回调

9:什么是事件循环

解释:

1:将函数作为参数,传入另外一个函数中,然后在这个函数中使用参数函数,称之为回调函数

eg: function a(){
  console.log("a")
}

function b(callback){
  callback()
};

运行: b(a)

执行结果:a

这个就是回调函数

2:同步就是程序一步一步的执行

eg:console.log("a");

console.log("b");

执行结果:a   b

在js中异步一般是采用定时器来实现

eg:

function A(){
  setTimeout(function(){

    console.log("a")

  },1000)

  console.log("b")
}

这个函数的执行结果就是先输出b。 然后才输出a  在线程中解释就是开辟一个新的小路给定时器作用 先执行后面的,等小路走完在回到主线程中去,

当然在异步中,我们可以传给函数一个回调函数,这样就似乎可以实现同步的效果了

3:所谓I/O一般指的是对于数据的输入输出,通常适用于文件的导入,数据库的数据的交换等等

4:js语言时候脚本语言,也是单线程的语言,所以单线程就是一步一步的执行,必须要等到上一步完成才能执行下一步,如果上一步是死循环,那下一步还是

在等待,所以会导致程序卡死  多线程就是程序多点开花,多点执行,缺点是占用的资源多

5:阻塞/非阻塞的道理其实和线程有关系,单线程的执行上一步一直在执行,,就会产生阻塞状况,导致后面的程序无法执行 ,所以node中常使用异步的方式去实现非阻塞

6:事件就是我们的行为,例如点击按钮 呀等等

7:事件驱动就是在点击按钮的时候所发生的一些行为,比如我们点击按钮实现获取数据等等,

8:在事件函数中,加入回调函数 产生一些相应,便可以称之为事件驱动回调

9:当事件很多的请况下,会产生很多的回调函数,那么将这些函数都加入到一个栈中去依次的执行,便称之为是事件循环

node.js基本概念简单解释的更多相关文章

  1. Node.js回调概念

    什么是回调? 回调是一个异步等效的功能.在完成特定任务回调函数被调用. Node大量使用了回调.Node的所有的API都支持回调这样的一种方式. 例如,一个函数读取一个文件可能开始读取文件,并使得下一 ...

  2. Node.js的概念与应用

    转:http://blog.jobbole.com/100058/?utm_source=blog.jobbole.com&utm_medium=relatedPosts Node.js 是什 ...

  3. 用node.js写一个简单爬虫,并将数据导出为 excel 文件

    引子 最近折腾node,最开始像无头苍蝇一样到处找资料,然而多数没什么卵用,都在瞎比比.在一阵瞎搞后,我来分享一下初步学习node的三个过程: 1 撸一遍NODE入门,对其有个基本的了解: 2 撸一遍 ...

  4. 手把手教你学node.js之一个简单的express应用

    一个简单的express应用 目标 建立一个 lesson1 项目,在其中编写代码.当在浏览器中访问 http://localhost:3000/ 时,输出 Hello World. 挑战 访问 ht ...

  5. 使用Node.js快速搭建简单的静态文件服务器

    做前端有时会采用一些复杂框架,在文件系统中直接打开页面(用file:///方式打开),往往会报跨域的错,类似于“XMLHttpRequest cannot load ...(文件名). Cross o ...

  6. 学习用node.js建立一个简单的web服务器

    一.建立简单的Web服务器涉及到Node.js的一些基本知识点: 1.请求模块 在Node.js中,系统提供了许多有用的模块(当然你也可以用JavaScript编写自己的模块,以后的章节我们将详细讲解 ...

  7. [NodeJS]使用Node.js写一个简单的在线聊天室

    声明:教程来自<Node即学即用>.源代码案例均出自此书.博文仅为个人学习笔记. 第一步:创建一个聊天server. 首先,我们先来写一个Server: var net = require ...

  8. Node.js express路由简单分析

    这2天看了一点node+express的路由源码有了一点眉目,总结一下 对于app.get, 首先给出一张类图: 图1 注意每个路由有一个stack,这个stack中存放了Layer. 路由系统内有三 ...

  9. node.js 实现一个简单的登录拦截器

    拦截器在web开发中随处可见,比如站点的管理后台,不说所有人都能进入,所以就需要做一个拦截器并友好的跳转到提示页. 下面我们简单实现一种,判断用户是否登录成功,登录不成功的用户自动重定向到登录页面. ...

随机推荐

  1. Qt介绍1---QPA(Qt Platform Abstraction)

    Qt是一个夸平台的库(一直宣称“Qt everywhere”),但是Qt底层不是夸平台的.比如:Qt中Gui部件的核心类QWidget,该类除了qwidget.h 和 qwidget.cpp两个原文件 ...

  2. [转载]Oracle 游标使用全解

    这个文档几乎包含了oracle游标使用的方方面面,全部通过了测试 -- 声明游标:CURSOR cursor_name IS select_statement --For 循环游标--(1)定义游标- ...

  3. SQL SERVER镜像配置,无法将 ALTER DATABASE 命令发送到远程服务器实例的解决办法

    环境:非域环境 因为是自动故障转移,需要加入见证,事务安全模式是,强安全FULL模式 做到最后一步的时候,可能会遇到 执行( ALTER DATABASE [mirrortest] SET WITNE ...

  4. Step5:SQL Server 跨网段(跨机房)FTP复制

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 搭建过程(Process) 注意事项(Attention) 参考文献(References) ...

  5. NoSql Cassandra

    我们为什么要使用NOSQL非关系数据库? 随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传统的关系数据库在应付web2.0网站,特别 ...

  6. awk中截取IP字段

    由于文本的特殊性,IP字段可能并不是在特定的字段中. 借助awk的match()函数进行匹配截取 awk --re-interval '($0 ~ "xxx"){match($0, ...

  7. Linux Centos 7.4 内核升级

    Linux Centos 7.4 内核升级 原始内核版本:3.10.0-693.2.2.el7.x86_64 升级内核版本:4.14.9-1.el7.elrepo.x86_64 1.导入key Key ...

  8. MD5算法详解

    MD5是什么 message-digest algorithm 5(信息-摘要算法).经常说的“MD5加密”,就是它→信息-摘要算法.在下载一下东西时,经常在一些压缩包属性里,看到md5值.而且这个下 ...

  9. rocketmq连接报connect to ip:10909 failed

    一.代码重现如下: 二.错误描述: com.alibaba.rocketmq.client.exception.MQClientException: Send [1] times, still fai ...

  10. MySQL更改relay-bin名称导致同步停止的解决办法

    今天在优化io的时候,移动了从库relay-bin的位置,并将hostname部分去掉了,启动后,从库slave状态如下: mysql> show slave status\G; ******* ...