目录
交互式运行环境——REPL
Node.js提供了一个交互式运行环境——REPL。
Node.js REPL(Read Eval Print Loop:交互式解释器)表示一个电脑的环境,类似Window系统的中断或Unix/Linux的shell,我们可以在终端中输入命令,并接收系统的响应。
Node自带了交互式解释器,可以执行下面的任务:
--读取:读取用户输入,解析输入了JavaScript数据结构并存储在内存中
--执行:执行输入的数据结构
--打印:输出结果
--循环:循环操作以上步骤直到用户退出
在控制台直接输入node就可以进入这个环境:
退出:连续按两次Ctrl+C / 输入.exit
可以使用.help查看所有命令
变量提升机制
JavaScript中存在变量提升机制,也就是所有的变量在运行时都会提升到代码的最前方
相当于:
var a; console.log(a); a = 10;
数据类型
JavaScript中简单数据类型:undefined boolean number string null
复杂数据类型 object
使用typeof区分
typeof返回值:undefined boolean number string object function
null与object都会返回object,因为null实际上是一个空指针对象
使用Boolaen()转化数据类型
空字符串、0、null、undefined、NaN都会转成false
函数的arguments对象
函数中默认带有一个arguments对象,这是一个类数组对象。它记录了传递给函数的参数信息。
function add(a, b) { return a + b; } add(1, 2, 3, 4); //输出3 function add2() { var sum = 0; for (var i = 0, max = arguments.length; i < max; i++) { sum += arguments[i]; } return sum; } add2(1, 2, 3, 4); //输出10
可以使用slice()将arguments转化成一个真正的数组
var arr = [].slice.call(arguments);
Node.js的控制台console
console.dir() 把一个对象的信息输出到控制台
console.time() console.timeEnd() 用来统计一段代码的运行时间
console.trace()用于输出当前位置的栈信息。