NodeJs>------->>第二章:Node.js中交互式运行环境--------REL
第二章:Node.js中交互式运行环境--------REL

一:REPL运行环境概述



1 C:\Users\junliu>node
2 > foo = 'bar' ;
3 'bar'
4 >



二:在REPL运行环境中操作变量

1 C:\Users\junliu>node
2 > foo='bar'
3 'bar'
4 > var foo='bar'
5 undefined
6 >

1 console.log("foo='bar'"); //控制台窗口中将输出“bar”
2 console.log("var foo='bar'");//控制台窗口中将输出 undefined

1 //为变量赋值
2 > foo='bar';
3 'bar'
4 //输入变量名后显示变量值
5 > foo
6 'bar'
7 >

1 //将对象赋值给变量
2 > user =new Object();
3 {}
4 > user.Name='liujun';
5 'liujun'
6 > user.age='25';
7 '25'
8 //输入变量名后显示变量所引用对象的各属性名及属性值
9 > user
10 { Name: 'liujun', age: '25' }
11 >

1 //将对象赋值给变量
2 > user =new Object();
3 {}
4 > user.Name='liujun';
5 'liujun'
6 > user.age='25';
7 '25'
8 > user
9 { Name: 'liujun', age: '25' }
10 //输入变量后显示变量所引用对象的各属性名及属性值,使用“【function】”来显示函数
11 > user.setName=function(name){user.name=name};
12 [Function]
13 > user
14 { Name: 'liujun', age: '25', setName: [Function] }
15 >
三:在REPL运行环境中使用下划线字符

1 > a=3;
2 3
3 > _+=1;
4 Expression assignment to _ now disabled.
5 4
6 > a
7 3
8 >

1 > a=3;
2 3
3 > _+=1;
4 Expression assignment to _ now disabled.
5 4
6 > a
7 3
8 >

1 C:\Users\junliu>node
2 > ['1','2','3']
3 [ '1', '2', '3' ]
4 > _.length;
5 3
6 > [1,2,3,4,5,5];
7 [ 1, 2, 3, 4, 5, 5 ]
8 > _.length;
9 6
10 > 6+3;
11 9
12 > _.toString();
13 '9'
14 >
四:在REPL运行环境中直接运行函数

以下是在REPL运行环境中运行函数
1 C:\Users\junliu>node
2 > a=[1,1,1,3];
3 [ 1, 1, 1, 3 ]
4 > a.forEach(function(v){
5 ... console.log(v);
6 ... });
7 1
8 1
9 1
10 3


以下为:REPL运行环境将为子函数继续添加省略号
1 C:\Users\junliu>node
2 > a=[1,1,2,3,4,5]
3 [ 1, 1, 2, 3, 4, 5 ]
4 > a.forEach(function(v){
5 ... console.log(v);
6 ... });
7 1
8 1
9 2
10 3
11 4
12 5
13 undefined
14 > a.forEach(function(v){
15 ... sf(v);
16 ... function sf(vv){
17 ..... console.log(vv);
18 ..... }
19 ... });
20 1
21 1
22 2
23 3
24 4
25 5
26 undefined
五:在REPL运行环境中定义并启动服务器


1 > var http=require('http');
2 undefined
3 > http.createServer(function (req,res){
4 ... res.writeHead(200, {'Content-Type': 'text/html'});
5 ... res.write('<head><meta charset="utf-8"/></head>');
6 ... res.end('你好\n');
7 ... }).listen(1337, "127.0.0.1");
8 Server {
9 domain:
10 Domain {
11 domain: null,
12 _events: { error: [Function] },
13 _eventsCount: 1,
14 _maxListeners: undefined,
15 members: [] },
16 _events:
17 { request: [Function],
18 connection: [Function: connectionListener] },
19 _eventsCount: 2,
20 _maxListeners: undefined,
21 _connections: 0,
22 _handle: null,
23 _usingSlaves: false,
24 _slaves: [],
25 _unref: false,
26 allowHalfOpen: true,
27 pauseOnConnect: false,
28 httpAllowHalfOpen: false,
29 timeout: 120000,
30 _pendingResponseData: 0 }
31 > console.log('Server running at http://127.0.0.1:1337/')
32 Server running at http://127.0.0.1:1337/
33 undefined
34 >
六:REPL运行环境中的上下文对象


1 var repl = require("repl");
2 var con=repl.start("> ").context;
3 con.msg="示例消息";
4 con.testFunction=function(){console.log(con.msg);};

七:REPL运行环境中的基础命令



1 > a=[2,3,4,5,6,7];
2 [ 2, 3, 4, 5, 6, 7 ]
3 > _.length;
4 6
5 > a.forEach(function(v){
6 ... subF(v);
7 ... function subF(vv){
8 ..... console.log(vv);
9 ..... }
10 ... });
11 2
12 3
13 4
14 5
15 6
16 7
17 undefined
18 > a.forEach(function(v){
19 ... subF(v);
20 ... function subF(vv){
21 ..... console.log(vv);
22 ..... break;
23 break;
24 ^^^^^
25
26 SyntaxError: Illegal break statement
27
28 >


按两次Ctrl+c 退出REPL环境
使用.clear方法清除上下文对象中保存的所有变量和函数





使用 .help 命令显示所有的基础命令




1 a=[1,2,3,4,5,6,69,8,7,8,8];
2 a.forEach(function(v){
3 sf(v);
4 function sf(vv){
5 console.log(vv);
6 }
7 });


八:小结

NodeJs>------->>第二章:Node.js中交互式运行环境--------REL的更多相关文章
- 第 2 章 Node.js 中的交互式运行环境 —— REPL
本章内容包括: 如何使用REPL运行环境以及如何在该运行环境中测试各种JavaScript表达式. 如何定义并启动REPL运行环境. Node.js 框架中为REPL运行环境提供了哪些命令以及这些命令 ...
- 【nodejs原理&源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick
[摘要] 官网博文翻译,nodejs中的定时器 示例代码托管在:http://www.github.com/dashnowords/blogs 原文地址:https://nodejs.org/en/d ...
- 【nodejs原理&源码赏析(7)】【译】Node.js中的事件循环,定时器和process.nextTick
目录 Event Loop 是什么? Event Loop 基本解释 事件循环阶段概览 事件循环细节 timers pending callbacks poll阶段 check close callb ...
- Node.js中的URL
Node.js中的URL 什么是URL URL是Uniform Location Resource的缩写,翻译为"统一资源定位符",也就是描述资源位置的固定表示方法.被URL描述的 ...
- 在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查
Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),.它当前支持M ...
- 第 1 章 Node.js 介绍
本章内容包括: 什么是 Node.js 框架,为什么要用 Node.js 框架,使用 Node.js 框架能够解决什么问题,在哪些场合下应该考虑使用 Node.js 框架. 如何下载 Node.js ...
- 在Node.js中使用RabbitMQ系列二 任务队列
在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心 ...
- [转]在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查
本文转自:https://www.cnblogs.com/kongxianghai/p/5582661.html Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用Ja ...
- node.js中process进程的概念和child_process子进程模块的使用
进程,你可以把它理解成一个正在运行的程序.node.js中每个应用程序都是进程类的实例对象. node.js中有一个 process 全局对象,通过它我们可以获取,运行该程序的用户,环境变量等信息. ...
随机推荐
- windows中的mysql修改管理员密码
上周安装了Mysl 但是却无法登陆,找了好久才找到这个解决办法,讲的详细谢谢了. [摘要:1.my-default.ini 更名my.ini 正在解压的目次上面复造my-default.ini一份更名 ...
- zTree重命名节点时,操作的那个dom(类似input框那个)怎么写
<script type="text/javascript"> //tree的编辑节点的方法 ztree.editName(nodeNew[0]); /// $(&qu ...
- MySQL常用辅助语句
查看索引: mysql> show index from user_info; +-----------+------------+----------+--------------+----- ...
- 洛谷 P1140 相似基因(DP)
传送门 https://www.cnblogs.com/violet-acmer/p/9852294.html 参考资料: [1]:https://www.cnblogs.com/real-l/p/9 ...
- mac idea中的文件在finder中打开
设置工具扩展:
- javascript Date定义和体验
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- C#设计模式(15)——迭代器模式
1.迭代器模式介绍 迭代器模式主要用于遍历聚合对象,将聚合对象的遍历行为分离出来,抽象为一个迭代器来负责.迭代器模式用的十分普遍,C#/JAVA等高级语言都对迭代器进行了封装用于遍历数组,集合,列表等 ...
- centos7 cannot find a valid baseurl for repo
出现这个问题是因为yum在安装包的过程中,虽然已经联网,但是没法解析远程包管理库对应的域名,所以我们只需要在网络配置中添加上DNS对应的ip地址即可. 操作 1.打开网络配置文件 vi /etc/sy ...
- Hbase 集群安装(Hadoop 2.6.0 hbase0.99.2)
一:说明 该安装是在hadoop集群安装后进行,详情可见上一篇博客虚拟机centos7系统下安装hadoop ha和yarn ha(详细) .其中涉及五台机器,两台master(机器名:master, ...
- python - class类 (五) 继承补充-子类继承父类属性/函数方法
子类继承父类属性/函数方法: #方式一:(原生方式,不建议使用) class Dongwu(object): def __init__(self,name,sex,old): self.name = ...