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 ...
随机推荐
- C# Web应用调试开启外部访问
在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用.这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用. 目录 1. 设置内网访问 2. 设 ...
- 利用snowfall.jquery.js实现爱心满屏飞
小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统 (源码购买说明)
系列目录 升级日志 !!!重大版本更新:于2016-12-20日完成了系统的结构重构并合并简化了T4(这是一次重要的更新,不需要修改现有功能的代码),代码总行数比上个版本又少了1/3.更新了代码生成器 ...
- PHP类和对象之重载
PHP中的重载指的是动态的创建属性与方法,是通过魔术方法来实现的.属性的重载通过__set,__get,__isset,__unset来分别实现对不存在属性的赋值.读取.判断属性是否设置.销毁属性. ...
- C# 对象实例化 用json保存 泛型类 可以很方便的保存程序设置
参考页面: http://www.yuanjiaocheng.net/webapi/test-webapi.html http://www.yuanjiaocheng.net/webapi/web-a ...
- AbpZero--2.如何启动
1.直接启动 VS中直接启动 2.IIS站点 IIS中配置一个站点来启动(推荐) 3.登录 系统默认创建2个用户 默认用户名:admin 密码:123qwe 租户:Default 默认用户名:adm ...
- JDBC简介
jdbc连接数据库的四个对象 DriverManager 驱动类 DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 ...
- TCP/IP之TCP_NODELAY与TCP_CORK
TCP/IP之Nagle算法与40ms延迟提到了Nagle 算法.这样虽然提高了网络吞吐量,但是实时性却降低了,在一些交互性很强的应用程序来说是不允许的,使用TCP_NODELAY选项可以禁止Nagl ...
- .NET跨平台之旅:数据库连接字符串写法引发的问题
最近在一个ASP.NET Core站点中遇到一个奇怪问题.当用dotnet run命令启动站点后,开始的一段时间请求执行速度超慢,有时要超过20秒,有时甚至超过1分钟,日志中会记录这样的错误: Sys ...
- centos6.3与jexus5.4.4配置支持php(wordpress)
centos6.3与jexus5.4.4配置支持php,并搭建自己的wordpress博客,供那些在Linux平台下想让 php和asp.net一起跑的初学者参考. 1.搭建webserver 首先准 ...