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 ...
随机推荐
- UE4新手之编程指南
虚幻引擎4为程序员提供了两套工具集,可共同使用来加速开发的工作流程. 新的游戏类.Slate和Canvas用户接口元素以及编辑器功能可以使用C++语言来编写,并且在使用Visual Studio 或 ...
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- transtion:过渡动画
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 17.0px Monaco; color: #4f5d66 } p.p2 { margin: 0.0px 0 ...
- 在线浏览PDF之PDF.JS (附demo)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#skill 下载地址:http://mozilla.gith ...
- HTML 获取屏幕、浏览器、页面的高度宽度
本篇主要介绍Web环境中屏幕.浏览器及页面的高度.宽度信息. 目录 1. 介绍:介绍页面的容器(屏幕.浏览器及页面).物理尺寸与分辨率.展示等内容. 2. 屏幕信息:介绍屏幕尺寸信息:如:屏幕.软件可 ...
- Matlab slice方法和包络法绘制三维立体图
前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...
- Hawk 4.4 执行器
执行器是负责将Hawk的结果传送到外部环境的工具.你可以写入数据表,数据库,甚至执行某个特定的动作,或是生成文件等等. 在调试模式下,执行器都是不工作的.这是为了避免产生副作用.否则,每刷新一遍数据, ...
- Ubuntu(Linux) + mono + jexus +asp.net MVC3 部署
感谢 张善友 的建议,我把 微信订餐 由nginx 改成 jexus,目前运行状况来说,确实稳定了很多,再次感谢. 部署步骤参考 jexus官网:http://www.jexus.org/ htt ...
- 探索c#之Async、Await剖析
阅读目录: 基本介绍 基本原理剖析 内部实现剖析 重点注意的地方 总结 基本介绍 Async.Await是net4.x新增的异步编程方式,其目的是为了简化异步程序编写,和之前APM方式简单对比如下. ...
- BCL中String.Join的实现
在开发中,有时候会遇到需要把一个List对象中的某个字段用一个分隔符拼成一个字符串的情况.比如在SQL语句的in条件中,我们通常需要把List<int>这样的对象转换为“1,2,3”这样的 ...