21天掌握JavaWeb--->第5天:JavaScript基础与前端工具链

JavaScript基础语法

JavaScript是一种轻量级的解释型编程语言,它被广泛用于增强网页的交互性,为用户提供更流畅的网页体验。以下是JavaScript的一些基础语法和概念。

1. 数据类型

JavaScript有几种基本数据类型,包括:

  • Number :数值类型,如6、3.14。
  • String :字符串类型,如"Hello World"。
  • Boolean :布尔类型,只有两个值:true和false。
  • Undefined :未定义类型,当变量被声明而未初始化时,其值为undefined。
  • Null :空类型,只有一个值:null。
  • Symbol(ES6新增):唯一的、不可变的数据类型。
  • Object:对象类型,可以包含各种数据类型的键值对。

2. 变量声明

JavaScript提供了几种声明变量的关键字:

  • var:变量提升,函数作用域。
  • let(ES6新增):块级作用域,不允许变量提升。
  • const(ES6新增):块级作用域,声明后不可更改。

3. 控制结构

  • 条件语句 :if、else if、else。
  • 循环语句 :for、while、do...while。
  • 数组方法 :map()、filter()、reduce()等。

4. 函数

JavaScript中的函数是一种特殊对象,可以被赋值给变量、数组元素、对象属性。

复制代码
function greet(name) {
    return 'Hello ' + name;
}

const sayHello = function(name) {
    return 'Hello ' + name;
};

const greetArrow = (name) => 'Hello ' + name;

5. 对象和原型链

JavaScript中的对象是键值对的集合,而原型链是JavaScript中实现继承的主要机制。

复制代码
const person = {
    firstName: "John",
    lastName: "Doe",
    getFullName: function() {
        return this.firstName + " " + this.lastName;
    }
};

console.log(person.getFullName()); // John Doe

前端工具链介绍与配置

1. Node.js

Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它允许我们在服务器端运行JavaScript代码。

  • 安装 :访问Node.js官网下载并安装。
  • npm:Node.js的包管理器,用于安装和管理依赖。

2. npm

npm是Node.js的默认包管理器,用于安装、共享和管理依赖。

  • 安装包 :npm install package_name
  • 查看包版本 :npm view package_name version
  • 卸载包 :npm uninstall package_name

3. Webpack

Webpack是一个现代JavaScript应用程序的静态模块打包器。

  • 安装Webpack:

    npm install --save-dev webpack webpack-cli

  • 配置文件 (webpack.config.js):

    const path = require('path');

    module.exports = {
    entry: './src/index.js',
    output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist')
    },
    module: {
    rules: [
    {
    test: /.css$/,
    use: ['style-loader', 'css-loader']
    }
    ]
    }
    };

总结

JavaScript作为Web开发的核心语言,其基础语法是每个开发者必须掌握的技能。同时,Node.js、npm和Webpack等工具链的引入,极大地提高了前端开发的效率和质量。通过本教程,我们了解了JavaScript的基础语法和前端工具链的基本配置,希望这能帮助你更好地理解和应用JavaScript,提高Web开发的技能。

复制再试一次分享

相关推荐
Wang's Blog3 分钟前
Java 项目实战: 交友项目 - 项目模块划分与依赖关系
java·开发语言·交友
努力进修4 分钟前
时序数据长期承载难题:从压缩、批量写入到数据组织优化
java·开发语言·数据库
星夜离尘564 分钟前
MATLAB 5 点滑动平均:filter 与 conv 的输出对齐,以及 2 样本延时的含义
开发语言·算法·matlab·滤波·fir
Dovis(誓平步青云)9 分钟前
总用电下降了,为什么家庭能源看板仍然提示异常
java·开发语言·数据库·人工智能·算法·电脑·能源
程序猿乐锅9 分钟前
【从0-1学习Python | 第四篇】Python 字符串和元组
java·开发语言·笔记·后端·python·学习
开开心心就好13 分钟前
Windows视频播放器推荐,精简版体积更小
java·服务器·开发语言·eclipse·pdf·ocr·音视频
开开心心就好13 分钟前
A3的PDF怎么切成A4?拖一下分割线就行
服务器·开发语言·python·算法·pdf·ocr·tornado
小黄人软件14 分钟前
python 模块(Module)与包(Package)的区别,python xxx.py、python -m xxx 和 import xxx 三者的区别
开发语言·python
PHP实战开发录15 分钟前
PHP中文文件名为什么乱码
开发语言·php
hunterandroid15 分钟前
HarmonyOS HUKS 密钥全生命周期实战:生成、轮换与失效处理
前端·华为