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

原生 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.xdnf.cn/news/12886.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【网络】子网掩码

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;了解什么是子网掩码&#xff0c;并且能熟练掌握子网掩码的相关计算。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会…

Worldly平台更新Higg FEM 2024模块价格及购买指南

近日&#xff0c;LEVERAGE供应链管理从美国可持续服装联盟&#xff08;Cascale&#xff09;验证官方Worldly平台模块订阅更新中获悉&#xff0c;FEM2024模块价格更新的重要信息。此次更新涉及工厂环境模块&#xff08;FEM&#xff09;和工厂社会劳工模块&#xff08;FSLM&#…

Rocky9通过Docker-compose部署zabbix 7.0.5

Rocky9通过Docker-compose部署zabbix 7.0.5 1. 实验环境架构2. Zabbix-Server准备工作2.1 更新仓库2.2 安装docker-ce2.3 安装docker-compose 3. 安装Zabbix项目3.1 克隆项目3.2 预下载镜像3.3 启动Zabbix 4. 启动web管理端4.1 登录web管理页4.2 修改时区和语言 5. Agent安装配…

企业内训系统

在当今这个竞争激烈的市场环境中&#xff0c;企业的持续发展不仅依赖于外部市场的拓展&#xff0c;更离不开内部团队能力的提升。企业内训系统&#xff0c;作为提升企业竞争力、促进员工成长的重要工具&#xff0c;正逐渐成为现代企业管理中不可或缺的一环。本文将深入探讨企业…

QT自定义控件封装

QT自定义控件封装 1.概述 这篇文章介绍如何创建UI文件&#xff0c;通过自定义方式将两个控件联动起来&#xff0c;实现自定义功能。 2.创建UI文件 新建一个widget的普通项目&#xff0c;然后在项目名称上右键选择And New... 新建文件&#xff0c;然后选择QT 再选择Qt Desig…

物联网(RFID)全景:被装信息化监控应用与挑战

一、被装物联网信息化建设的动因 信息化改革在20世纪80年代中期启航&#xff0c;旨在提升被装保障的效率。随着时间的推移&#xff0c;硬件的广泛运用和软件的快速迭代&#xff0c;装备业务在规划、制造、分发以及战时支援等核心环节&#xff0c;已经与信息系统深度融合&#x…

屏幕解析工具——OmniParser

0 引言 OmniParser是微软开源的一种屏幕解析工具&#xff0c;提供了一种将用户界面截图解析为结构化元素的综合方法&#xff0c;通过此方法可以对UI界面进行可交互元素的提取和描述&#xff0c;然后将此结构化信息和任务指令&#xff0c;输入到大模型中&#xff0c;以增强大模…

衡石分析平台系统分析人员手册-嵌入样式定制化指南­

发布页面嵌入样式定制化指南​ 使用衡石智能分析平台制作好 Dashboard 和 Chart 以后&#xff0c;可以通过 iframe 的方式嵌入到已有系统中。为了达到风格统一&#xff0c;嵌入 iframe 的时候支持丰富的定制化选项。 定制 Dashboard 的 iframe​ 参数列表​ 仪表盘嵌入时支持…

Nginx更换ssl证书不生效

一.场景 在用的ssl证书要过期了&#xff0c;申请了新的ssl证书下来&#xff0c;在nginx配置上更换上去后&#xff0c;打开系统地址&#xff0c;一依然是使用原来的旧证书&#xff0c;以前有更换过别的域名证书&#xff0c;重启nginx服务后立马就生效了。 这次没生效&#xff…

基于python和Django的用户管理接口开发

1.异步用户登录\登出接口开发 1.设计公共响应数据类型 文件地址&#xff1a;utils/response404.py from django.http import JsonResponseclass BadRequestJsonResponse(JsonResponse):status_code 400def __init__(self, err_list, *args, **kwargs):data {"error_c…

Docker--Docker是什么和对Docker的了解

Docker 的本质 Docker的本质是LXC&#xff08;Linux容器&#xff09;之类的增强版&#xff0c;它本身不是容器&#xff0c;而是容器的易用工具。 Docker通过虚拟化技术&#xff0c;将代码、依赖项和运行环境打包成一个容器&#xff0c;并利用隔离机制来使得容器之间互相独立、…

Window下PHP安装最新sg11(php5.3-php8.3)

链接: https://pan.baidu.com/s/10yyqTJdwH_oQJnQtWcwIeA 提取码: qz8y 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦 (链接失效联系L88467872) 1.下载后解压文件&#xff0c;将对应版本的ixed.xx.win文件放进php对应的ext目录下&#xff0c;如图所示 2.修改ph…

C# yolo10使用onnx推理

一、前言 本篇总结C#端使用yolo10的onnx文件做模型推理&#xff0c;主要使用Microsoft.ML.OnnxRuntime.Gpu这个库。需要注意的是Microsoft.ML.OnnxRuntime 和 Microsoft.ML.OnnxRuntime.Gpu 这2库只装1个就行&#xff0c;CPU就装前者&#xff0c;反之后者。然后需要注意系统安装…

MNIST数据集下载与保存为图片格式

深度学习 文章目录 深度学习下载数据集 下载数据集 https://github.com/geektutu/tensorflow-tutorial-samples/tree/master/mnist/data_set t10k-images-idx3-ubyte.gz t10k-labels-idx1-ubyte.gz train-images-idx3-ubyte.gz train-labels-idx1-ubyte.gz 解压后&#xff0c;…

Oracle In子句

Oracle IN 运算符可以用来确定值是否与列表或子查询中的任何值相匹配 Oracle IN语法&#xff1a; 确定表达式是否与值列表匹配的 Oracle IN 运算符的语法如下所示&#xff1a; expression [NOT] IN (v1,v2,...)并且表达式的语法与子查询匹配&#xff1a; expression [NOT] I…

华为OD机试 - 查找舆情热词(Python/JS/C/C++ 2024 C卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

从容应对蓝屏:必知原因与对策

电脑蓝屏&#xff0c;即“蓝屏死机”或“蓝屏错误”&#xff0c;是计算机用户在日常使用中可能遇到的一种较为严重的系统错误状态。当屏幕突然变成蓝色&#xff0c;并显示错误代码和信息时&#xff0c;这通常意味着系统遇到了无法处理的问题&#xff0c;了解电脑蓝屏的原因及解…

每日小练:Day1

1.牛牛冲钻五 题目链接&#xff1a;A-牛牛冲钻五_牛客小白月赛38 题目描述&#xff1a; 代码如下&#xff1a; import java.util.*;public class Main{public static void main(String[] args){Scanner scannernew Scanner(System.in);int tscanner.nextInt();while(t--!0){…

springboot汽车租赁智慧管理-计算机设计毕业源码96317

目 录 第 1 章 引 言 1.1 选题背景 1.2 研究现状 1.3 论文结构安排 第 2 章 系统的需求分析 2.1 系统可行性分析 2.1.1 技术方面可行性分析 2.1.2 经济方面可行性分析 2.1.3 法律方面可行性分析 2.1.4 操作方面可行性分析 2.2 系统功能需求分析 2.3 系统性需求分析…

从社交媒体到元宇宙:Facebook未来发展新方向

Facebook&#xff0c;作为全球最大的社交媒体平台之一&#xff0c;已经从最初的简单互动工具发展成为一个跨越多个领域的科技巨头。无论是连接人与人之间的社交纽带&#xff0c;还是利用大数据、人工智能等技术为用户提供个性化的体验&#xff0c;Facebook一直引领着社交网络的…