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 ...
随机推荐
- 论:开发者信仰之“天下IT是一家“(Java .NET篇)
比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...
- 深入浅出Redis-redis底层数据结构(上)
1.概述 相信使用过Redis 的各位同学都很清楚,Redis 是一个基于键值对(key-value)的分布式存储系统,与Memcached类似,却优于Memcached的一个高性能的key-valu ...
- Python高手之路【三】python基础之函数
基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ...
- React的使用与JSX的转换
前置技能:Chrome浏览器 一.拿糖:React的使用 React v0.14 RC 发布,主要更新项目: 两个包: React 和 React DOM DOM node refs 无状态的功能 ...
- Java多态性——分派
一.基本概念 Java是一门面向对象的程序设计语言,因为Java具备面向对象的三个基本特征:封装.继承和多态.这三个特征并不是各自独立的,从一定角度上看,封装和继承几乎都是为多态而准备的.多态性主要体 ...
- 根据ip判断返回城市名称查询当地天气
<?phpheader("content-type:text/html;charset=utf-8");date_default_timezone_set("Asi ...
- css样式之border-radius
border-radius 属性设置边框的园角 可能的值:像素,百分比 扩展延伸 html代码 <div></div> css代码 div { height: 200px; w ...
- Javascript高性能编程-提高Dom访问速度
在浏览器中对于Dom的操作和普通的脚本的操作处于两个不同的dll中,两个dll的交互是比较耗时的,优化对Dom的操作可以提高脚本的执行速度.下面是对如何优化的一些总结: 将需要多次操作的节点存储在一个 ...
- BPM配置故事之案例11-操作外部数据源
小明:可以获取ERP数据了-- 老李:哦,这么快?小伙子,我非常看好你,来来,别急着走,再陪我聊会-- 小明:--您老人家不是又要改流程吧? 老李:没有没有,哎嘿嘿嘿,我们这不都是为公司效率着想嘛,这 ...
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...