Node.js笔记(一)

=============node.js  note ==========================

1 NodeJS是一个服务器端JavaScript解释器
       apt-get install node

node.js 的安装学习请查看下列url:http://www.runoob.com/nodejs/nodejs-install-setup.html
  +++++++++++++node.js 安装+++++++++++++++
  +安装:
  +     sudo apt-get install nodejs
  +     sudo apt-get install npm
  +检验是否安装  查看版本
  +       node -v
  ++++++++++++++++++end++++++++++++++++++++

npm
     npm 是随同node.js 一起安装的包管理软件,能解决nodejsu部署中的问题,一般应用场景:
            允许用户从npm服务器上下载别人的第三方包到本地使用

允许用户从npm服务器下载安装别人的命令行程序到本地使用

允许用户讲自己编写的包或命令行程序上传到npm服务器供别人使用
__dirname node.js 的绝对路径查看 (全局对象)
__filename node.js的当前文件的查看(全局对象)
console.log
console.info
console.warn
console.error

node filename.js > log.txt
    node filename.js 1>log.txt 对不同的日志级别进行分流
    node fiename.js  2>log.txt

错误相关的信息通过1重定向到log.txt
    node filename.js 1>& log.txt  
++++++++++++++++++++++++++++++++回调函数++++++++++++++++++++++++++++++++++
js的回调函数
     回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。

在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。

因此callback 不一定用于异步,一般同步(阻塞)的场景下也经常用到回调,比如要求执行某些操作后执行回调函数。

例子

一个同步(阻塞)中使用回调的例子,目的是在func1代码执行完成后执行func2。
    var func1=function(callback){
       //do something.
        (callback && typeof(callback) === "function") && callback();
    }

func1(func2);
    var func2=function(){
    }

异步回调的例子:

$(document).ready(callback);        
    $.ajax({
      url: "test.html",
      context: document.body
    }).done(function() {
      $(this).addClass("done");
    }).fail(function() { alert("error");
    }).always(function() { alert("complete");
    });
    /**
    注意的是,ajax请求确实是异步的,不过这请求是由浏览器新开一个线程请求,当请求的状态变更时,如果先前已设置回调,这异步线程就产生状态变更事件放到 JavaScript引擎的处理队列中等待处理。见:http://www.phpv.net/html/1700.html
    */
具体实例介绍:
    https://segmentfault.com/q/1010000000140970
 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

仅为个人笔记!

时间: 2024-11-03 03:27:05

Node.js笔记(一)的相关文章

Node.js笔记(0003)---Express框架Router模块学习笔记

这段时间一直有在看Express框架的API,最近刚看到Router,以下是我认为需要注意的地方: Router模块中有一个param方法,刚开始看得有点模糊,官网大概是这么描述的: Map logic to route parameters. 大概意思就是路由参数的映射逻辑 这个可能一时半会也不明白其作用,尤其是不知道get和param的执行顺序 再看看源码里面的介绍: Map the given param placeholder `name`(s) to the given callbac

node.js笔记——模块的开发

模块是什么? 简单来说模块是用来将实现某个功能的代码进行封装以便在其他项目中通过简单引入的方式实现模块中封装的功能的一个东西!!(我更想管他叫小程序). 模块的引入 模块的引入使用reqiure()函数来实现例如引入http模块 var h = require("http"); 这里需要注意的是require()加载函数可以加载指定的js文件,当引入的不是某个js文件而是一段没有扩展名的字符时,默认node.js会加载当前根目录下的node_modules文件夹下面的文件夹里的文件 并

node.js笔记——文件之间的引入

node.js的基础语法就是JavaScript的语法,所以对于懂得javascript的同学来说要容易一些,至于环境的配置也要相对简单很多,可以访问官方文档进行安装.这里分享一下我在学习中总结的一些东西,这是第一篇先来说说文件之间如何进行引入并互相使用变量及函数. 码缘»node.js笔记——文件之间的引入 http://www.ithome.ren/2017/05/31/node-js1.html

Node.js笔记(0001)---connect模块

首先来看这一部分代码 1 /** 2 * Created by bsn on 14-7-1. 3 */ 4 var connect = require('connect'); 5 6 var app = connect(); 7 function hello(req, res, next) { 8 console.log(req.url); 9 res.end('hello bsn'); 10 next(); 11 } 12 13 function helloAgain(req, res) {

[转载] Node.js 笔记(一) nodejs、npm、express安装

感谢原作者: http://blog.csdn.net/haidaochen/article/details/7257655 Windows平台下的node.js安装 直接去nodejs的官网http://nodejs.org/上下载nodejs安装程序,双击安装就可以了 测试安装是否成功: 在命令行输入 node –v 应该可以查看到当前安装的nodejs版本号 简单的例子写一段简短的代码,保存为helloworld.js,大致看下nodejs是怎么用的. 如下:该代码主要是创建一个http服

Node.js 笔记(一) nodejs、npm、express安装(转)

转载地址:http://blog.csdn.net/haidaochen/article/details/7257655 Windows平台下的node.js安装 直接去nodejs的官网http://nodejs.org/上下载nodejs安装程序,双击安装就可以了 测试安装是否成功: 在命令行输入 node –v 应该可以查看到当前安装的nodejs版本号 简单的例子写一段简短的代码,保存为helloworld.js,大致看下nodejs是怎么用的. 如下:该代码主要是创建一个http服务器

node.js 笔记

安装nodejs nodejs.org Node.js for Mac 安装 安装npm curl http://npmjs.org/install.sh | sh 更新npm sudo npm update npm -g 安装 PM2 npm install pm2 -g 更新PM2 pm2 update 安装 express $ npm install -g express-generator #需先安装express-generator   $ npm install -g express

Node.js笔记(二)

===============note two====================  node.js里面的许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件,一个fs.readStream对象会在文件被打开的时候发出一个事件.所有这些产生事件的对象都是events.EventEnitter的实例. events 模块只提供了一个对象: events.EventEmitter.EventEmitter 的核心就是事件触发与事件监听器功能的封装. 你可以通过requ

Node.js笔记(三)路由和socket.io

本文参考了<Node应用程序构建--使用MongoDB和backbone>的第二章 -------------------------------- 路由 依赖于ConnectHTTP服务器框架,Express提供了视图渲染和一种描述路由的语言 要使用express,首先要安装express,安装过程不再描述, 看下面一段示例代码: var express = require('express'); var app = express(); app.get('/stooges/:name?',