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 全局对象,通过它我们可以获取,运行该程序的用户,环境变量等信息. ...
随机推荐
- Cookie浅谈
相信大家对Cookie多多少少都有点了解吧~~下面我来谈谈吧: 每个Cookie不超过4K数据,每个网站不超过20个Cookie,所有网站的Cookie总和不超过300个 虽然cookie已经是上世纪 ...
- sklearn11_函数汇总
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- Linux操作系统原理
Linux操作系统原理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.计算机经历的四个时代 1.第一代: 真空管计算机,输入和输出:穿孔卡片,对计算机操作起来非常不便,做一件事 ...
- C# 新特性
1.字符串中调用参数 DataTable dt= sqlHelper.SqlConnectionInformation(connstr,sql); string rows = JsonConvert. ...
- javascript 事件冒泡与取消冒泡
事件冒泡: 当一个元素上的事件被触发时,比如说鼠标点击了一个按钮,同样的事件将会在那个元素的所有祖先中被触发,这一过程被称为事件冒泡. 这个事件从原始祖先开始,一直冒泡到DOM树的最上层.(bug) ...
- Golang基础
Golang官方 https://golang.org/ 使用命令,在本地启动一个go官网 go doc -http=: 访问127.: golang标准库api文档 https://studygol ...
- $使用dom4j可解析 返回&#x等字样的 html转义字符【转】
如果以GET或POST请求某个系统返回,带有 $#x 那很有可能是axis服务器返回的. <?xml version="1.0" encoding="UTF-8&q ...
- PHP7 学习笔记(四)PHP PSR-4 Autoloader 自动加载
参考文献: 1.PHP PSR-4 Autoloader 自动加载(中文版) 2.PHP编码规范(中文版)导读 3.PHP-PSR-[0-4]代码规范 基本步骤: (1)在vendor 下新建一个项目 ...
- MySql Workbench导出ER图并存为PDF文件
一.登陆数据库 二.点击Database => Reverse Engineer 三.填入登陆信息后next => next,选择要生成ER模型的数据库 四.点击next => n ...
- 自动提取文件系统---binwalk(一)
Binwalk是路由器固件分析的必备工具,该工具最大的优点就是可以自动完成指定文件的扫描,智能发掘潜藏在文件中所有可疑的文件类型及文件系统. 1.Binwalk和libmagic Binwalk的扫描 ...