首页 > 编程语言 >JavaScript基础总结

JavaScript基础总结

时间:2024-11-11 12:16:03浏览次数:5  
标签:总结 console log JavaScript 基础 Alice let const name

         JavaScript(简称JS)是一个广泛使用的客户端脚本语言,常用于网页开发中。它可以在浏览器中运行,执行交互操作和动态效果。以下是JavaScript基础的所有核心知识点,按主题分类列出。

1. 基本语法

  • 声明变量
    使用 varletconst 来声明变量:
var name = 'Alice';  // var 不建议使用
let age = 25;        // let 是可变的
const pi = 3.14;     // const 是常量,值不可变

数据类型
JavaScript的基本数据类型包括:

  • Number:数字类型(整数和浮点数)
  • String:字符串类型
  • Boolean:布尔类型(truefalse
  • undefined:表示未定义的变量
  • null:表示空值
  • Symbol:唯一且不可变的值
  • BigInt:大整数类型
let num = 42;        // Number
let str = 'Hello';   // String
let isActive = true; // Boolean
let un = undefined;  // undefined
let n = null;        // null

2. 运算符

  • 算术运算符+, -, *, /, %, ++, --
  • 比较运算符==, ===, !=, !==, >, <, >=, <=
  • 逻辑运算符&& (与),|| (或),! (非)
  • 赋值运算符=, +=, -=, *=, /=, %=
  • 三元运算符condition ? expr1 : expr2
  • 按位运算符&, |, ^, ~, <<, >>, >>>
  • 其他typeof, instanceof

3. 控制流

  • 条件语句
if (x > 10) {
  console.log('x 大于 10');
} else if (x === 10) {
  console.log('x 等于 10');
} else {
  console.log('x 小于 10');
}
  • switch 语句
switch (day) {
  case 1:
    console.log('Monday');
    break;
  case 2:
    console.log('Tuesday');
    break;
  default:
    console.log('Unknown day');
}

循环语句

  • for 循环
  • while 循环
  • do...while 循环
for (let i = 0; i < 5; i++) {
  console.log(i);
}

let i = 0;
while (i < 5) {
  console.log(i);
  i++;
}

4. 函数

  • 函数声明
function greet(name) {
  return 'Hello, ' + name;
}
console.log(greet('Alice'));
  • 函数表达式 
const greet = function(name) {
  return 'Hello, ' + name;
};
console.log(greet('Alice'));
  • 箭头函数(ES6+)
const greet = (name) => 'Hello, ' + name;
console.log(greet('Alice'));
  •  默认参数(ES6+)
function greet(name = 'Guest') {
  return 'Hello, ' + name;
}
console.log(greet()); // 'Hello, Guest'
  • Rest 参数(ES6+) 
function sum(...numbers) {
  return numbers.reduce((acc, num) => acc + num, 0);
}
console.log(sum(1, 2, 3, 4)); // 10

5. 作用域和闭包

  • 作用域:全局作用域、函数作用域、块级作用域(由letconst引入)
  • 闭包:函数可以访问外部函数的变量,形成闭包。
function outer() {
  let outerVar = 'I am outer';
  return function inner() {
    console.log(outerVar);
  };
}
const closure = outer();
closure(); // 输出 'I am outer'

6. 对象和数组

  • 对象
let person = {
  name: 'Alice',
  age: 25,
  greet() {
    console.log('Hello ' + this.name);
  }
};
console.log(person.name);  // 'Alice'
person.greet();            // 'Hello Alice'
  •  数组
let numbers = [1, 2, 3, 4];
numbers.push(5); // 添加元素
numbers.pop();   // 移除最后一个元素
console.log(numbers); // [1, 2, 3, 4, 5]

7.ES6+ 特性

  • 模板字符串(Template Literals)
let name = 'Alice';
let greeting = `Hello, ${name}!`; // 字符串插值
console.log(greeting); // 'Hello, Alice!'
  •  解构赋值

        对象解构:

const person = { name: 'Alice', age: 25 };
const { name, age } = person;
console.log(name, age); // 'Alice' 25

        数组解构:

const arr = [1, 2, 3];
const [a, b] = arr;
console.log(a, b); // 1 2
  • 扩展运算符(Spread Operator) 
const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5]
  •  Promise(用于处理异步操作)
let promise = new Promise((resolve, reject) => {
  let success = true;
  if (success) {
    resolve('Operation successful');
  } else {
    reject('Operation failed');
  }
});

promise
  .then(result => console.log(result))
  .catch(error => console.log(error));

8. 异步编程

  • 回调函数
function fetchData(callback) {
  setTimeout(() => {
    callback('Data loaded');
  }, 1000);
}
fetchData(data => console.log(data));
  • Promise
const fetchData = () => {
  return new Promise((resolve, reject) => {
    setTimeout(() => resolve('Data loaded'), 1000);
  });
};
fetchData().then(data => console.log(data));
  • async/await(ES8)
const fetchData = async () => {
  let data = await new Promise(resolve => {
    setTimeout(() => resolve('Data loaded'), 1000);
  });
  console.log(data);
};
fetchData();

9. 事件处理

  • 事件监听
document.getElementById('myButton').addEventListener('click', function() {
  alert('Button clicked!');
});

10. DOM 操作

  • 获取元素
const element = document.getElementById('myId');
const elements = document.getElementsByClassName('myClass');
const queryElement = document.querySelector('.myClass');
  • 修改元素内容
element.innerHTML = 'New content';
element.textContent = 'Text content';

11. 错误处理

  • try...catch
    用于捕获运行时错误并进行处理:
try {
  let result = riskyFunction();
} catch (error) {
  console.log('Error occurred: ' + error);
}

12. 模块化

  • 模块导出和导入(ES6+)
    • 导出:
export const myFunction = () => { console.log('Hello World'); };
  • 导出:
import { myFunction } from './myModule.js';
myFunction();

标签:总结,console,log,JavaScript,基础,Alice,let,const,name
From: https://blog.csdn.net/wtt12344321/article/details/143655549

相关文章

  • JavaScript题目一 根据成绩给出学生考评
            根据学生的成绩给出考评,可以通过if或switch语句来实现。下面是一个简单的JavaScript代码示例,根据学生的成绩返回不同的评语。示例代码:functionevaluateStudent(score){letevaluation;if(score>=90){evaluation='优秀';}else......
  • JavaScript题目二 实现猜数字游戏
    实现一个猜数字游戏的过程,通常包括以下几个步骤:生成一个随机数:计算机随机生成一个目标数字。用户输入猜测:玩家猜测数字并提交。比较用户输入与目标数字:计算机检查玩家的猜测,给出提示(比如“猜小了”或“猜大了”)。循环进行:直到玩家猜对为止,或者达到预设的次数。1.HTML文件(......
  • JavaScript题目三 制作简易计算器
    目标:提供四个基本的运算功能:加、减、乘、除。支持数字输入和运算符输入。显示结果。1.HTML文件(index.html)<!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,i......
  • MYSQL事务学习总结
    前言在数据库操作的复杂世界里,事务是保障数据一致性、完整性和可靠性的关键机制。无论是银行系统中的资金转账,还是电商平台的订单处理,事务都在默默地发挥着重要作用。MySQL作为广泛使用的数据库管理系统,其事务处理机制涉及到多个重要的概念和特性。从原子性确保操作的整体性......
  • 二维数点总结
    有很多数数题都可以转化为二维数点模型。将一些二元信息视作平面上的若干个点,查询即数一个矩形中有多少个点/点的权值之和等信息。那么这很明显是DS题(或者至少要上DS优化一下)。我们来想想怎么处理矩阵查询。离线离线的时候做法很多。但基本都有一个共性:把询问差分,转化为前缀信......
  • TypeScript入门基础
    参考网址-https://blog.csdn.net/guoxulieying/article/details/133771340基础类型-布尔值 -letisDone:boolean=false; -数字-TypeScript里的所有数字都是浮点数,这些浮点数的类型是number。除了支持十进制,还支持二进制、八进制、十六进制-以下......
  • 算法性能测试基础
    算法的性能测试是一个综合评估算法在不同条件下的表现和效率的过程。在进行算法性能测试时,需要关注多个关键指标,以确保全面、准确地评估算法的性能。以下是对算法性能测试的详细解释和需要关注的指标的归纳:一、算法性能测试概述算法性能测试的目的是验证算法在各种输入情况下的......
  • 基于Python的大模型学习手册(基础级)
    前言大模型(全称为大语言模型,英文名称:LargeLanguageModel),这个2023年刷爆了互联网圈的“现象级明星”,几乎以前所未有的姿态,席卷了各行各业,世人一时为之惊叹。同时,也开辟了各大厂商投入AI研发的新赛道。前排提示,文末有大模型AGI-CSDN独家资料包哦!乘着这波“西风”,国内大......
  • JavaScript变量
    变量是用于存储信息的"容器"。实例varx=5;vary=6;varz=x+y;尝试一下»就像代数那样x=5y=6z=x+y在代数中,我们使用字母(比如x)来保存值(比如5)。通过上面的表达式z=x+y,我们能够计算出z的值为11。在JavaScript中,这些字母被称为变量。您可以把变量看做存储数......
  • JavaScript语法
    JavaScript 语法JavaScript是一个程序语言。语法规则定义了语言结构。JavaScript语法JavaScript是一个脚本语言。它是一个轻量级,但功能强大的编程语言。JavaScript字面量在编程语言中,一般固定值称为字面量,如3.14。数字(Number)字面量 可以是整数或者是小数,或者是科......