JavaScript的基本知识点解析

JavaScript的基本概念:

变量

变量是存储数据的容器。在JavaScript中,可以使用var、let或const关键字声明变量。例如:

var x = 10; // 使用var声明变量x并赋值为10
let y = 20; // 使用let声明变量y并赋值为20
const z = 30; // 使用const声明常量z并赋值为30(不能修改)

 数据类型

JavaScript中有五种基本数据类型:Number、String、Boolean、Null和Undefined。例如:

var num = 10; // Number类型
var str = "Hello, World!"; // String类型
var bool = true; // Boolean类型
var n = null; // Null类型
var u; // Undefined类型

 运算符:

JavaScript支持多种运算符,包括算术运算符、比较运算符、逻辑运算符等。例如:

var a = 10;
var b = 20;
var c = a + b; // 加法运算符
var d = a - b; // 减法运算符
var e = a * b; // 乘法运算符
var f = a / b; // 除法运算符
var g = a % b; // 取余运算符
var h = a > b; // 大于运算符
var i = a < b; // 小于运算符
var j = a >= b; // 大于等于运算符
var k = a <= b; // 小于等于运算符
var l = a == b; // 等于运算符
var m = a != b; // 不等于运算符
var n = a && b; // 逻辑与运算符
var o = a || b; // 逻辑或运算符

控制结构

JavaScript支持if-else语句、switch语句、for循环、while循环、do-while循环等控制结构。例如:

// if-else语句
var age = 18;
if (age >= 18) {console.log("成年人");
} else {console.log("未成年人");
}// switch语句
var day = "星期一";
switch (day) {case "星期一":console.log("星期一");break;case "星期二":console.log("星期二");break;default:console.log("其他");
}// for循环
for (var i = 0; i < 5; i++) {console.log(i);
}// while循环
var j = 0;
while (j < 5) {console.log(j);j++;
}// do-while循环
var k = 0;
do {console.log(k);k++;
} while (k < 5);

函数

 函数是一段可重复使用的代码块。在JavaScript中,可以使用function关键字声明函数。例如:

function add(a, b) {return a + b;
}
console.log(add(1, 2)); // 输出3

 对象

 对象是一组无序的属性和方法的集合。在JavaScript中,可以使用{}表示一个对象。例如:

var person = {name: "张三",age: 30,sayHello: function() {console.log("你好!");}
};
console.log(person.name); // 输出张三
person.sayHello(); // 输出你好!

数组

 数组是一组有序的元素集合。在JavaScript中,可以使用[]表示一个数组。例如:

var numbers = [1, 2, 3, 4, 5];
console.log(numbers[0]); // 输出1
numbers.push(6); // 向数组末尾添加元素6
console.log(numbers); // 输出[1, 2, 3, 4, 5, 6]

JavaScript的内置对象和方法

JavaScript提供了许多内置对象和方法,可以帮助我们更方便地操作数据和实现功能。以下是一些常用的内置对象和方法:

Math对象:提供了一系列数学相关的属性和方法,如圆周率、三角函数等。例如:

var pi = Math.PI; // 获取圆周率π的值
var sinValue = Math.sin(Math.PI / 2); // 计算正弦值
console.log(sinValue); // 输出1(因为sin(π/2) = 1)

 Date对象:表示日期和时间。例如:

var now = new Date(); // 获取当前日期和时间
console.log(now); // 输出当前日期和时间(格式为:Wed Jul 07 2022 14:30:00 GMT+0800 (中国标准时间))

 Array对象:提供了一系列数组操作的方法,如排序、查找、遍历等。例如:

var arr = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
arr.sort(); // 对数组进行升序排序
console.log(arr); // 输出[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

 JSON对象:提供了将JavaScript对象转换为JSON字符串和将JSON字符串转换为JavaScript对象的方法。例如:

var obj = {name: "张三", age: 30};
var jsonStr = JSON.stringify(obj); // 将JavaScript对象转换为JSON字符串
console.log(jsonStr); // 输出{"name":"张三","age":30}var jsonObj = JSON.parse(jsonStr); // 将JSON字符串转换为JavaScript对象
console.log(jsonObj); // 输出{name: "张三", age: 30}

JavaScript的事件处理机制 

JavaScript的事件处理机制允许我们在用户与网页交互时执行特定的代码。事件可以是鼠标点击、键盘按键、页面滚动等。以下是一些常用的事件处理方法:

 onclick事件:当用户点击某个元素时触发。例如:

<button onclick="alert('你点击了按钮!')">点击我</button>

 onmouseover事件:当鼠标指针移动到某个元素上时触发。例如:

<div onmouseover="alert('你鼠标悬停在了该元素上!')">悬停在这里</div>

 onkeydown事件:当用户按下某个键时触发。例如:

<input type="text" onkeydown="alert('你按下了键盘上的键!')">

 onload事件:当网页加载完成时触发。例如:

<body onload="alert('网页已加载完成!')">

JavaScript的异步编程   

JavaScript的异步编程允许我们在不阻塞主线程的情况下执行耗时的操作。常见的异步编程方式有回调函数、Promise和async/await。以下是一些示例:

回调函数:通过将一个函数作为参数传递给另一个函数来实现异步操作。例如:

function asyncFunction(callback) {setTimeout(function() {callback('异步操作完成');}, 1000);
}asyncFunction(function(result) {console.log(result); // 输出异步操作完成(1秒后)
});

 Promise:一种更现代的异步编程方式,可以更好地处理异步操作的结果。例如

function asyncFunction() {return new Promise(function(resolve, reject) {setTimeout(function() {resolve('异步操作完成');}, 1000);});
}asyncFunction().then(function(result) {console.log(result); // 输出异步操作完成(1秒后)
});

 async/await:一种简化Promise链的语法糖。例如:

async function asyncFunction() {const result = await new Promise(function(resolve, reject) {setTimeout(function() {resolve

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/112203.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有什么小程序可以下载视频号的视频?

​最近有一些朋友问我&#xff0c;【视频号下载助手】和【视频下载bot】小程序&#xff0c;有什么作用&#xff1f; 首先视频号下载助手是协助用户进行下载的&#xff0c;但由于下载要符合平台规定&#xff0c;我们就将视频下载助手与视频下载bot小程序想结合的模式&#xff0…

YOLO目标检测——红白细胞血小板数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用&#xff1a;红白细胞血小板计数和分类数据集说明&#xff1a;YOLO目标检测数据集&#xff0c;真实场景的高质量图片数据&#xff0c;数据场景丰富。使用lableimg标注软件标注&#xff0c;标注框质量高&#xff0c;含voc(xml)、coco(json)和yolo(txt)三种格式标签&…

yxy销售网站后台管理系统

springbootmybatisthymeleaf 第一个练习的项目就是小商品零售平台后台管理系统&#xff0c;但是当时由于业务不熟练&#xff0c;需求分析先不做好&#xff0c;导致在开发的过程中出现了很多问题。 这次首先把需求确定&#xff0c;详细的做好前期准备工作&#xff0c;再来进行…

吴恩达开新课了:面向所有人的生成式 AI 课程!我已偷偷学了起来

作者 | 智商掉了一地 斯坦福大学的吴恩达教授可能是许多人接触 AI 的启蒙课导师吧&#xff0c;在过去的十多年中&#xff0c;他的《Machine Learning》课程已经对数百万的学习者产生了积极影响。 ▲image.png 而随着 ChatGPT 的推出&#xff0c;大模型和各类生成式人工智能&am…

使用LangChain与chatGPT API开发故事推理游戏-海龟汤

项目概述 海龟汤简述: 主持人提出一个难以理解的事件,玩家通过提问来逐步还原事件,主持人仅能告知玩家:“是、不是、是也不是、不重要”。引入chatGPT API原因 想通过程序自动化主持人,可通过chatGPT来判断玩家推理正确与否。LangChain是什么 LangChain是一个强大的框架,…

你知道谁是计算机之父吗?

“计算机之父” 这个词通常用来指代计算机科学领域的杰出人物&#xff0c;他们在计算机科学和技术的发展中发挥了重要作用。有多位人物被认为是计算机之父&#xff0c;其中包括&#xff1a; 查尔斯巴贝奇&#xff08;Charles Babbage&#xff09;&#xff1a;是英国的一位杰出的…

博客后台模块续更(四)

八、博客后台模块-Excel表格 1. 接口分析 在分类管理中点击导出按钮可以把所有的分类导出到Excel文件 请求方式 请求地址 请求头 GET /content/category/export 需要token请求头 响应体&#xff1a; 直接导出一个Excel文件 失败的话响应体如下&#xff1a; {"c…

Vue3.js:自定义组件 v-model

Vue3的自定义v-model和vue2稍有不同 文档 https://cn.vuejs.org/guide/components/v-model.html 目录 原生组件自定义组件CustomInput实现代码1CustomInput实现代码2 v-model 的参数 原生组件 <input v-model"searchText" />等价于 <input:value"s…

通过尖端技术创造价值:释放生成式 AI 的力量

塔曼纳 一、说明 近年来&#xff0c;世界见证了人工智能&#xff08;AI&#xff09;的重大进步&#xff0c;生成式AI是最具革命性的技术之一。生成式人工智能已成为一种强大的方法&#xff0c;使机器能够创建新的原创内容&#xff0c;使其成为不同行业各种应用背后的驱动力。在…

【SA8295P 源码分析 (二)】10 - HQX Display(OpenWFD)qcdisplaycfg_ADP_STAR_LA.xml 配置文件解析

【SA8295P 源码分析】10 - HQX Display(OpenWFD)qcdisplaycfg_ADP_STAR_LA.xml 配置文件解析 一、HQX Display 介绍1.1 OpenWF Display Driver二、HQX Display 配置文件参数解析2.1 qcdisplaycfg.xml 配置文件2.1 配置两个 DPUs in QNX2.1.1 配置 graphics_ADP_STAR.conf : …

window系统如何管理多版本node

何时需要切换node版本 如果你正在维护一个旧项目&#xff0c;同时也在进行新项目&#xff0c;两个项目所依赖的node版本害不同&#xff0c;那么你可以就需要经常切换node版本。项目中可能依赖于某些npm包&#xff0c;而这些包对特定版本的Node有要求。需要满足这些要求以确保依…

隐式类型转换

什么是隐式类型转换&#xff0c;多参数的造函数隐式类型转换&#xff0c;和单参数的构造函数隐式类型转换有什么区别 C中有三种主要的隐式类型转换&#xff1a; 1:多参数的构造函数隐式类型转换 2:单参数的构造函数隐式类型转换 3:成员函数隐式类型转换。…

EasyCVR视频汇聚平台显示有视频流但无法播放是什么原因?该如何解决?

视频汇聚/视频云存储/集中存储/视频监控管理平台EasyCVR能在复杂的网络环境中&#xff0c;将分散的各类视频资源进行统一汇聚、整合、集中管理&#xff0c;实现视频资源的鉴权管理、按需调阅、全网分发、云存储、智能分析等&#xff0c;视频智能分析平台EasyCVR融合性强、开放度…

【试题032】C语言关系运算符例题

1.题目&#xff1a;设int a2,b4,c5;&#xff0c;则表达式ab!c>b>a的值为&#xff1f; 2.代码分析&#xff1a; //设int a2,b4,c5;&#xff0c;则表达式ab!c>b>a的值为?int a 2, b 4, c 5;printf("%d\n", (a b ! c > b > a));//分析&#xff…

Golang Map:高效的键值对容器

1. 引言 在编程中&#xff0c;我们经常需要使用键-值对来存储和操作数据。Golang中提供了一种高效的键值对容器——Map&#xff08;映射&#xff09;&#xff0c;它提供了快速的查找和插入操作&#xff0c;是处理大量关联数据的理想选择。本文将介绍Golang中的Map&#xff0c;…

k8s day07

昨日内容回顾: - 污点: 影响Pod调度&#xff0c;污点是作用在worker节点上。语法格式: KEY[VALUE]:EFFECT 有三种污点。 EFFECT: - NoSchedule&#xff1a; 已经调度到当前节点的Pod不驱逐&#xff0c;并且不在接…

element ui 中 el-button重新渲染后disabled属性失效

调试发现:disabled绑定的值和显示没有保持一致&#xff0c;发现是disabled属性失效 解决方式&#xff1a; 给标签添加key 比如&#xff1a;key“isOldVersion” <el-form-item><el-button type"primary" style"margin-left: 100px;" click"…

drawio快捷键

drawio快捷键 drawio或者drawon中的快捷键基本一致&#xff0c;如下我们按照不同的类别进行归类描述。 标签操作 快捷键操作双击插入文本或添加边缘标签Enter / ShiftEnter换行Enter / Tab标签中的换行符/制表符/缩进Enter / F2开始编辑所选单元格的文字CtrlEnter / ShiftTa…

N-128基于springboot,vue酒店管理系统

开发工具&#xff1a;IDEA 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 系统分前后台&#xff0c;项目采用前后端分离 前端技术&#xff1a;vueelementUI 服务端技术&#xff1a;springbootmybatis 本系统功…

HarmonyOS 音视频开发概述

在音视频开发指导中&#xff0c;将介绍各种涉及音频、视频播放或录制功能场景的开发方式&#xff0c;指导开发者如何使用系统提供的音视频 API 实现对应功能。比如使用 TonePlayer 实现简单的提示音&#xff0c;当设备接收到新消息时&#xff0c;会发出短促的“滴滴”声&#x…