node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL)
Node.js也有自己的虚拟的运行环境:REPL。
我们可以使用它来执行任何的Node.js或者javascript代码。还可以引入模块和使用文件系统。
在终端的执行命令来打开控制台,

1.1.3 加载Node.js脚本
记载node.js脚本文件非常简单,运行“node 文件名”即可,“node program.js”。如果我们想快速执行一些简单的语句,可以使用-e参数,这样我们直接执行一些javascript或者node.js命令。

1.2.1 Node.js的基础和语法
Node.js 建立在Google chrome的V8引擎和它的ECMAScript之上,其实node.js语法与前端javascript是非常的类似的,包括对象,函数,方法等。
重点的方面:
1、弱类型
2、Buffer-Node.js特殊数据类型
3、对象字面量
4、函数
5、数组
6、原型特性
7、编码规范
1.2.1.1 弱类型
自动类型转换的特性可以帮助我们节省很多时间和精力。实际上,javascript基本类型只有几种:
String,Number,boolean,undefined,null,RegEXP,其他都是object(对象)
同样,javascript中的string,number和boolean类型都有相关方法进行转换,如:
‘a’===new String(‘a’) //false
‘a’===new String(‘a’).tostring() //true
‘a’==new string(‘a’) //true
==会自动类型转换,而===则不会。PS:1、对于string,number等基本类型。(1)不同类型比较,==会转换成同一个类型,在比较值是否相等,===如果类型不同,其结果就是不等。(2)同类型比较,直接进行值比较就行。2、对于数组和对象等高级类型。===与==没有区别。3、基础类型和高级类型。(1)对于==,将高级类型转换为低级类型,然后进行值比较。(2)因为类型不同,===结果为false。
1.2.1.2 Buffer—node.js特殊的数据类型
Buffer做数据存储非常有效。Node.js推荐在任何可以使用buffer的情况下去使用它,如:从文件系统中读取内容或者接受网络包等内容。
对象字面量:
var obj={
color:“green”,
type:“suv”,
owner:{
…}
}
函数也是对象
var obj=function{
this.color:”green”,
this.type:”suv”,
this.owner{
…
}
}
1.2.1.3 函数
在node.js和javascript中,函数是一等公民,我们可以把它当做变量使用,因为他们也是对象,函数拥有自己的属性和特性。
定义/创建函数
方式:1、使用具名函表达式数;2、使用匿名函数表达式赋值给一个变量;3、同时使用以上两种方式
1、使用具名函数
function f(){
console.log(‘Hi’);
return true;
}
2、使用匿名函数表达式赋值给变量
var f=function(){
console.log(‘Hi’);
return true;
}
3、同时使用两种方式
var f=function f(){
console.log(‘HI’);
return true;
}
函数作为参数传递
var con=function(num){
return num+10;
}
var po=function(num,fn){
return fn(num);
}
po(10,con);
函数调用与函数表达式的对比
函数表达式:function f(){};
函数调用:f();
1.2.1.4 数组
数组也是对象,javascript数组并不是真实的数组,他们就是具有唯一数值索引对象(一般从0开始)。
var arr=[];
var arr2=[1,”Hi”,{a:2},function(){console.log(‘boo’);}];
var arr3=new Array();
var arr4=new Array(1,”Hi”,{a:2},function(){console.log(‘boo’);});
1.2.1.5 原型特性
Javascript没有类的概念,对象可以直接从其他对象处继承,我们称之为原型继承。
node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法的更多相关文章
- Node.js学习笔记(1):Node.js快速开始
Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- node入门学习(二)
一.模块系统 1.创建模块和引用模块 //如何创建一个模块 exports.hello = function(){ console.log('hello worl'); }; //这创建了一个模块 / ...
- Vue.js 学习笔记 第1章 初识Vue.js
本篇目录: 1.1 Vue.js 是什么 1.2 如何使用Vue.js 本章主要介绍与Vue.js有关的一些概念与技术,并帮助你了解它们背后相关的工作原理. 通过对本章的学习,即使从未接触过Vue.j ...
- JS学习十四天----server端运行JS代码
server端运行JS代码 话说,当今不在client使用JS代码才是稀罕事.因为web应用的体验越来越丰富,client用JS实现的逻辑也越来越多,这造成的结果就是某些差点儿一致的逻辑须要在clie ...
- node.js学习二---------------------同步API和异步API的区别
/** * node.js大部分api都有同步的方法,同步方法名后面都会带有Sync,js编译的时候,同步代码会立即执行,异步代码会先存到异步池中,等同步代码执行完后它才会执行异步:不会阻塞线程,没有 ...
- Python学习二十八周(vue.js)
一.指令 1.一个例子简单实用vue: 下载vue.js(这里实用1.0.21版本) 编写html代码: <!DOCTYPE html> <html lang="en&qu ...
- JS学习二(循环)
JS中的循环结构 [循环结构的执行步骤] 1.声明循环变量: 2.判断循环条件: 3.执行循环体操作: 4.更新循环变量: 然后,循环执行2~4,知道条件不成立.跳出循环. [while 循环] wh ...
- 网页3D效果库Three.js学习[二]-了解照相机
camera 上篇大致了解了three.js ,并可以创建一个简单的可动的立方体.下来我们着重了解下camera (照相机),照相机其实就是视角,就像你的眼睛.Three.js有两种不同的相机模式:直 ...
- Nuxt.js学习(二) --- Nuxt目录结构详解、Nuxt常用配置项、Nuxt路由配置和参数传递
[TOC] 1.Nuxt目录结构详解 Nuxt项目文件目录结构 |-- .nuxt // Nuxt自动生成,临时的用于编辑的文件,build |-- assets // 用于组织未编译的静态资源入LE ...
随机推荐
- mapreduce中一个map多个输入路径
package duogemap; import java.io.IOException; import java.util.ArrayList; import java.util.List; imp ...
- 如何一步一步用DDD设计一个电商网站(二)—— 项目架构
阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的 ...
- Web性能优化:图片优化
程序员都是懒孩子,想直接看自动优化的点:传送门 我自己的Blog:http://cabbit.me/web-image-optimization/ HTTP Archieve有个统计,图片内容已经占到 ...
- ASP.NET Web API 跨域访问(CORS)
一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
- 23种设计模式--中介者模式-Mediator Pattern
一.中介者模式的介绍 中介者模式第一下想到的就是中介,房子中介,婚姻中介啊等等,当然笔者也希望来个婚姻中介给我介绍一个哈哈哈,,回归正题中介者模式分成中介者类和用户类,根据接口编程的方式我们再 ...
- 算法与数据结构(十一) 平衡二叉树(AVL树)
今天的博客是在上一篇博客的基础上进行的延伸.上一篇博客我们主要聊了二叉排序树,详情请戳<二叉排序树的查找.插入与删除>.本篇博客我们就在二叉排序树的基础上来聊聊平衡二叉树,也叫AVL树,A ...
- enote笔记法使用范例(2)——指针(1)智能指针
要知道什么是智能指针,首先了解什么称为 “资源分配即初始化” what RAII:RAII—Resource Acquisition Is Initialization,即“资源分配即初始化” 在&l ...
- Flexible 弹性盒子模型之CSS flex-shrink 属性
实例 让第二个元素收缩到其他元素的三分之一: 效果预览 div:nth-of-type(2){flex-shrink:3;} 浏览器支持 表格中的数字表示支持该属性的第一个浏览器的版本号. 紧跟在 - ...
- 软件工程(C编码实践篇)学习心得
孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程 ...