JavaScript,作为当前最流行的前端开发语言,不仅在前端领域大放异彩,还通过Node.js在服务器端和全栈开发中扮演着重要角色。本文将从零基础开始,逐步深入探索JavaScript的核心技术,并揭开Node.js全栈开发的神秘面纱。
JavaScript基础知识
变量和数据类型
JavaScript中的变量用于存储数据,基本的数据类型包括数字(Number)、字符串(String)、布尔值(Boolean)、空值(Null)和未定义(Undefined)。
let age = 25;
let name = "Alice";
let isStudent = true;
let car = null;
let address;
控制语句
控制语句用于控制程序的执行流程,包括条件语句(if…else、switch)、循环语句(for、while)等。
if (age > 18) {
console.log("你是成年人");
} else {
console.log("你不是成年人");
}
for (let i = 0; i < 5; i++) {
console.log(i);
}
函数
函数是JavaScript中的基本组成部分,用于封装一段可复用的代码。
function sayHello(name) {
console.log("你好," + name);
}
sayHello("Alice");
JavaScript高级特性
闭包
闭包是指那些能够访问自由变量的函数,即使那些变量是在函数外部声明的。
function outerFunction() {
let outerVariable = "外部变量";
function innerFunction() {
console.log(outerVariable);
}
return innerFunction;
}
let innerFunc = outerFunction();
innerFunc(); // 输出:外部变量
高阶函数
高阶函数是指那些至少接收一个函数作为参数,或者至少返回一个函数的函数。
function higherOrderFunction(func) {
return func();
}
function sayHello(name) {
console.log("你好," + name);
}
higherOrderFunction(sayHello); // 输出:你好,undefined
对象
JavaScript中的对象是由键值对组成的,键是字符串或者符号,值可以是任何数据类型。
let person = {
name: "Alice",
age: 25,
sayHello: function(name) {
console.log("你好," + name);
}
};
person.sayHello("Bob"); // 输出:你好,Bob
Node.js全栈开发
Node.js环境搭建
首先,我们需要安装Node.js环境。可以从官方网站(https://nodejs.org/)下载并安装Node.js。
常用Node.js模块
Node.js内置了大量的模块,如文件系统(fs)、HTTP服务器(http)等。
const http = require("http");
const server = http.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/plain" });
res.end("Hello, World!");
});
server.listen(3000, () => {
console.log("服务器运行在 http://localhost:3000");
});
Express框架
Express是一个基于Node.js的Web应用框架,用于简化Web开发。
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.send("Hello, World!");
});
app.listen(3000, () => {
console.log("服务器运行在 http://localhost:3000");
});
MongoDB数据库
MongoDB是一个文档型数据库,可以方便地存储和查询JSON格式的数据。
const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/mydatabase", {
useNewUrlParser: true,
useUnifiedTopology: true
});
const Schema = mongoose.Schema;
const mySchema = new Schema({
name: String,
age: Number
});
const MyModel = mongoose.model("MyModel", mySchema);
const person = new MyModel({ name: "Alice", age: 25 });
person.save((err, doc) => {
if (err) {
console.log("保存失败:" + err);
} else {
console.log("保存成功:" + doc);
}
});
总结
通过本文的学习,我们了解了JavaScript的核心技术以及Node.js全栈开发。从零基础开始,我们学习了JavaScript的基本语法、高级特性、Node.js环境搭建、常用模块和Express框架,最后通过一个简单的例子展示了如何使用MongoDB数据库。希望这篇文章能够帮助你入门Node.js全栈开发,开启你的编程之旅!
