原生 JavaScript基本内容和常用特性详解

server/2024/11/14 1:18:44/

原生 JavaScript(也称为 Vanilla JS)指的是不依赖于任何框架或库的纯 JavaScript。以下是原生 JavaScript 的一些基本内容和常用特性详解。

目录

1. 数据类型

2. 变量声明

3. 控制结构

4. 函数

5. 对象和数组

6. 事件处理

7. DOM 操作

8. Promise 和异步编程

9. 模块化

10. JSON 操作


1. 数据类型

JavaScript 有七种基本数据类型:

  • 原始类型

    • Number:数字类型,例如 42 或 3.14
    • String:字符串类型,例如 'Hello' 或 "World"
    • Boolean:布尔类型,只有两个值:true 或 false
    • Undefined:未定义的类型,表示变量未被赋值。
    • Null:表示无值的类型,表示“空”。
    • Symbol:ES6 引入的独特且不可变的数据类型,通常用于对象属性的标识。
    • BigInt:用来表示大于 2^53 - 1 的整数。
  • 引用类型

    • Object:对象类型,是键值对的集合。
    • 数组(Array):特殊的对象,用于存储有序的数据集合。
    • 函数(Function):也是对象,可以被调用。

2. 变量声明

使用 varlet 和 const 声明变量。

  • var:函数作用域或全局作用域,允许重复声明。
  • let:块作用域,不允许重复声明。
  • const:块作用域,不允许重新赋值,必须在声明时初始化。
var a = 10;
let b = 20;
const c = 30;

3. 控制结构

JavaScript 提供了多种控制结构,如条件语句和循环语句。

  • 条件语句:
if (a > b) {console.log('a is greater than b');
} else if (a < b) {console.log('a is less than b');
} else {console.log('a is equal to b');
}
  • 循环语句:
// for 循环
for (let i = 0; i < 5; i++) {console.log(i);
}// while 循环
let i = 0;
while (i < 5) {console.log(i);i++;
}

4. 函数

JavaScript 中的函数也是一种对象,支持高阶函数(即可以接收函数作为参数的函数)。

  • 声明函数:
function add(x, y) {return x + y;
}// 箭头函数
const sum = (x, y) => x + y;

5. 对象和数组

  • 对象的创建:
let person = {name: 'Alice',age: 25,greet() {console.log(`Hello, my name is ${this.name}`);},
};person.greet(); // Hello, my name is Alice
  • 数组的创建和访问:
let fruits = ['apple', 'banana', 'cherry'];
console.log(fruits[0]); // apple
fruits.push('date'); // 添加元素

6. 事件处理

使用原生 JavaScript 可以为 DOM 元素添加事件监听器。

let button = document.getElementById('myButton');
button.addEventListener('click', function() {alert('Button clicked!');
});

7. DOM 操作

JavaScript 可以通过 document 对象操作 HTML 文档。

  • 获取元素:
let element = document.querySelector('.myClass');
  • 修改内容和样式:
element.textContent = 'New Content';
element.style.color = 'red';
  • 创建和添加元素:
let newDiv = document.createElement('div');
newDiv.textContent = 'Hello, World!';
document.body.appendChild(newDiv);

8. Promise 和异步编程

JavaScript 中的 Promise 用于处理异步操作。

let promise = new Promise((resolve, reject) => {setTimeout(() => {resolve('Success!');}, 2000);
});promise.then(result => {console.log(result); // Success!
});

9. 模块化

使用 ES6 语法可以将代码模块化。

  • 导出模块:
// myModule.js
export const name = 'Alice';
export function greet() {console.log('Hello!');
}
  • 导入模块:
// main.js
import { name, greet } from './myModule.js';
console.log(name); // Alice
greet(); // Hello!

10. JSON 操作

JavaScript 提供了内置的 JSON 对象来处理 JSON 数据格式。

  • 字符串化和解析:
let obj = { name: 'Alice', age: 25 };
let jsonString = JSON.stringify(obj); // 转为 JSON 字符串
let parsedObj = JSON.parse(jsonString); // 解析 JSON 字符串

总结

原生 JavaScript 是构建 Web 应用的基础,能够处理 DOM 操作、事件监听、异步请求等核心功能。理解以上这些内容可以帮助你更好地使用和掌握 JavaScript,从而有效地进行 Web 开发。如果你想深入学习原生 JavaScript,可以参考 MDN 文档或其他相关教程。


http://www.ppmy.cn/server/141724.html

相关文章

《JVM第10课》内存溢出(OOM)排查过程

文章目录 常用命令1. jps2. jconsole3. jstat4. jmap 工具1.jvisualvm 排查OOM的方法其实很简单很简单。 如果能找到拋OOM的日志&#xff0c;可以在日志里看到是哪一行抛出的OOM异常。如果找不到日志&#xff0c;那么处理方式是导出Java进程的内存快照&#xff0c;然后用工具查…

Axure安装步骤及免费替代方案

Axure作为一款强大的原型设计工具&#xff0c;因其丰富的功能而受到设计师的青睐。它包括动态面板、复杂表格编辑、协同设计和高保真原型设计等&#xff0c;这些功能可以简化复杂的设计流程&#xff0c;提高团队效率。本文将介绍Axure的安装方法&#xff0c;并探索一款新兴的Ax…

JavaScript中的二叉树排序你了解吗?

写在前面 在计算机科学中&#xff0c;二叉树是一种常见的数据结构&#xff0c;用于存储和组织数据。二叉树排序&#xff08;Binary Tree Sort&#xff09;是一种基于二叉搜索树的排序算法。它的基本思想是将待排序的元素插入到二叉搜索树中&#xff0c;然后通过中序遍历二叉搜…

SobarQube实现PDF报告导出

文章目录 前言一、插件配置二、使用步骤1.新生成一个Token2.将拷贝的Token加到上文中执行的命令中3.查看报告 三、友情提示总结 前言 这篇博文是承接此文 .Net项目在Windows中使用sonarqube进行代码质量扫描的详细操作配置 描述如何导出PDF报告 众所周知&#xff0c;导出PDF功…

软件设计师-计算机体系结构分类

计算机体系结构分类 Flynn分类法 根据不同的指令流数据流组织方式分类单指令流但数据流SISD,单处理器系统单指令多数据流SIMD&#xff0c;单指令流多数据流是一种采用一个控制器来控制多个处理器&#xff0c;同时对一组数据&#xff08;又称“数据矢量”&#xff09;中的每一…

python数据写入excel文件

主要思路&#xff1a;数据 转DataFrame后写入excel文件 一、数据格式为字典形式1 k e &#xff0c; v [‘1’, ‘e’, 0.83, 437, 0.6, 0.8, 0.9, ‘好’] 1、这种方法使用了 from_dict 方法&#xff0c;指定了 orient‘index’ 表示使用字典的键作为行索引&#xff0c;然…

探索 Python 图像处理的瑞士军刀:Pillow 库

文章目录 探索 Python 图像处理的瑞士军刀&#xff1a;Pillow 库第一部分&#xff1a;背景介绍第二部分&#xff1a;Pillow库是什么&#xff1f;第三部分&#xff1a;如何安装这个库&#xff1f;第四部分&#xff1a;简单的库函数使用方法第五部分&#xff1a;结合场景使用库第…

LeetCode【0006】Z字形变换

本文目录 1 中文题目2 求解思路2.1 基础解法&#xff1a;模拟法2.2 优化解法&#xff1a;数学规律法2.3 最优解法&#xff1a;字符串拼接法 3 题目总结 1 中文题目 将一个给定字符串 s 根据给定的行数 numRows &#xff0c;以从上往下、从左到右进行 Z 字形排列。 比如输入字符…