WEB06JavaScriptAjax

基础语法

引入方式

引入方式

内部脚本:将JS代码定义在HTML页面中

  • JavaScript代码必须位于<script></script>标签之间

  • 在HTML文档中,可以在任意地方,放置任意数量的<script>

  • 一般会把脚本置于<body>元素的底部,可改善显示速度

外部脚本:将 JS代码定义在外部 JS文件中,然后引入到 HTML页面中

  • 外部JS文件中,只包含JS代码,不包含<script>标签

  • <script>标签不能自闭合

输出语句

输出语句

  • 使用 window.alert() 写入警告框

  • 使用 document.write() 写入 HTML 输出

  • 使用 console.log() 写入浏览器控制台

变量声明

变量

  • JavaScript 中用 let 关键字来声明变量

  • JavaScript 中用 const 关键字来声明常量

  • JavaScript 是一门弱类型语言,变量可以存放不同类型的值

  • 变量名需要遵循如下规则:

    1. 组成字符可以是任何字母、数字、下划线(_)或美元符号($)

    2. 数字不能开头

    3. 建议使用驼峰命名

数据类型

数据类型

JavaScript中也有数据类型的概念,主要有下面几种

原始类型

  • string:字符串,单双引皆可

  • number:数字(整数、小数、NaN(Not a Number))

  • boolean:布尔。true,false

  • object:对象和null

  • undefined:当声明的变量未初始化时,该变量的默认值是 undefined

  • 使用 typeof 运算符可以获取数据类型

运算符

运算符

== 与 ===

特殊用法

  • 字符串字面值参与运算的时候会自动转为数字(加法除外)

  • 除法运算会按照人类运算执行,根java中的除法有所区别

流程控制

流程控制语句

流程控制

类型转换

在js中,任何类型都可以转为boolean:

  • Number:0 和 NaN为false,其他均转true

  • String:空字符串为false,其他均为true

  • 对象: Null 和 undefined为false, 其它均为true

函数和事件

函数

定义方式一:

  • 介绍:函数(方法)是被设计为执行特定任务的代码块。

  • 定义:JavaScript 函数通过 function 关键字进行定义,语法为:

  • 注意:

  • 形式参数不需要类型,因为Js是弱类型语言

  • 返回值也不需要定义类型,可以在函数内部直接使用return返回即可

  • js中如果出现同名的方法,后面的会覆盖前面的

  • 调用:函数名称(实际参数列表)

定义方式二:

  • JS中,函数调用可以传递任意个数的参数

事件

事件

  • 事件:HTML事件是发生在HTML元素上的 “事情”。比如:

    1. 按钮被点击

    2. 鼠标移动到元素上

    3. 按下键盘按键

  • 事件监听:JavaScript可以在事件被侦测到时 执行代码。

事件绑定

  • 方式一:通过 HTML标签中的事件属性进行绑定

  • <input type="button" οnclick="on()" value="按钮1">

    <script> function on(){ alert('我被点击了!'); } </script>

  • 方式二:通过 DOM 元素属性绑定

  • <input type="button" id="btn" value="按钮2">

    <script> document.getElementById('btn').οnclick=function(){ alert('我被点击了!'); } </script>

对象

数组对象

数组对象

  • JavaScript 中 Array对象用于定义数组

  • 定义

    let 变量名 = new Array(元素列表); //方式一
    let 变量名 = [ 元素列表 ]; //方式二
  • 访问

  • arr[ 索引 ] = 值;

注意事项

  • JavaScript 中的数组相当于 Java 中集合,数组的长度是可变的,而 JavaScript 是弱类型,所以可以存储任意的类型的数据。

属性

方法

  • 箭头函数(ES6):是用来简化函数定义语法的。具体形式为: (…) => { … } , 如果需要给箭头函数起名字: let xxx = (…) => { … }

字符串对象

字符串对象

  • String字符串对象创建方式有两种:

    let 变量名 = new String("…") ; //方式一
    let 变量名 = "…" ; //方式二

属性

方法

自定义对象

自定义对象

  • 定义格式:

    let 对象名 = {
    属性名1: 属性值1, 
    属性名2: 属性值2,
    属性名3: 属性值3,
    方法名: function(参数){
    方法体
    }
    };
  • 调用格式

  • 对象名.属性名;
    对象名.函数名();

JSON对象

JSON-介绍

  • 概念:JavaScript Object Notation,JavaScript对象标记法。

  • JSON 是通过 JavaScript 对象标记法书写的文本,跟js对象的主要区别就在于,JSON中的键必须是字符串类型

JSON-基础语法

  • 定义

    let 变量名 = '{"key1": value1, "key2": value2}';
  • JSON字符串转为JS对象

    let jsObject = JSON.parse(userStr);
  • JS对象转为JSON字符串

    let jsonStr = JSON.stringify(jsObject);

BOM对象

BOM

  • 概念:Browser Object Model 浏览器对象模型,允许JavaScript与浏览器对话, JavaScript 将浏览器的各个组成部分封装为对象。

Window

  • 介绍:浏览器窗口对象。

  • 获取:直接使用window,其中 window. 可以省略。

  • 属性

    1. history:对 History 对象的只读引用。请参阅 History 对象。

    2. location:用于窗口或框架的 Location 对象。请参阅 Location 对象。

    3. navigator:对 Navigator 对象的只读引用。请参阅 Navigator 对象。

  • 方法

    1. alert():显示带有一段消息和一个确认按钮的警告框。

    2. confirm():显示带有一段消息以及确认按钮和取消按钮的对话框。

    3. setInterval():按照指定的周期 (以毫秒计)来调用函数或计算表达式。

    4. setTimeout():在指定的毫秒数后调用函数或计算表达式。

Location

  • 介绍:地址栏对象。

  • 获取:使用 window.location 获取,其中 window. 可以省略。

  • 属性: href:设置或返回完整的URL。

DOM对象

DOM

  • 概念:Document Object Model ,文档对象模型。

  • 将标记语言的各个组成部分封装为对应的对象:

    1. Document:整个文档对象

    2. Element:元素对象

    3. Attribute:属性对象

    4. Text:文本对象

    5. Comment:注释对象

  • HTML中的Element对象可以通过Document对象获取,而Document对象是通过window对象获取的。

  • Document对象中提供了以下获取Element元素对象的函数:

ajax

ajax

Ajax

  • 概念:Asynchronous JavaScript And XML,异步的JavaScript和XML。

  • 作用:

    1. 数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。

    2. 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如:搜索联想、用户名是否可用的校验等等。

同步与异步

原生Ajax

  • 准备数据地址:http://yapi.smart-xwork.cn/mock/169327/emp/list

  • 创建XMLHttpRequest对象:用于和服务器交换数据

  • 向服务器发送请求

  • 获取服务器响应数据

axios

Axios

  • 介绍:Axios 对原生的Ajax进行了封装,简化书写,快速开发。

  • 官网: Axios中文文档 | Axios中文网

请求方式别名

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

搭建ASP+Mssql站点

SQL Server 2022 链接&#xff1a;https://pan.baidu.com/s/1U2zkXacbjOVNsAq-JQ80tA?pwdgosm 提取码&#xff1a;gosm MSSQLi-labs 链接&#xff1a;https://pan.baidu.com/s/1K6rCIaeSzaBBtQKD9Uk1fw?pwdveyn 提取码&#xff1a;veyn SQL Server 2022下载安装 安装成功…

使用 C# 训练大型语言模型和小型语言模型

介绍 训练大型语言模型 (LLM) 和小型语言模型 (SLM) 在人工智能和机器学习领域获得了巨大的关注。这些模型能够理解和生成类似人类的文本&#xff0c;具有从聊天机器人到高级数据分析的广泛应用。本文探讨了使用 C#&#xff08;一种在企业环境中广泛使用的面向对象编程语言&am…

发那科机床联网串口配置

本文章仅针对无网口&#xff0c;需要通过串口输出采集数据情况。跟这篇文章互为参考&#xff0c;一个理论&#xff0c;一个实战。 Fanuc DPRNT宏程序串口采集-CSDN博客 一、禁用机器串口监控 选择System、monit 二、设置参数可写 在MDI模式中字符面板上按OFS/SET键,连按致屏…

基于门控循环单元 GRU 实现股票单变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

Java巅峰之路---基础篇---面向对象

目录 面向对象介绍 什么是面向对象编程&#xff1f; 为什么用面向对象编程&#xff1f; 面向对象的重点学习什么&#xff1f; 类和对象 介绍 类的定义 构造方法 作用 格式和特点、执行时机 构造方法注意事项 标准的JavaBean类 定义类的补充注意事项 封装 什么是封…

水的过滤方式介绍

RO反渗透程序设计软件下载 超滤(UF)&#xff1a; 过滤精度在0.001-0.1微米&#xff0c;属于二十一世纪高新技术之一。是一种利用压差的膜法分离技术&#xff0c;可滤除水中的铁锈、泥沙、悬浮物、胶体、细菌、大分子有机物等有害物质&#xff0c;并能保留对人体有益的一些矿物质…

音频demo:使用fdk-aac将PCM数据编码成aac数据

1、README a. 编译 编译demo 本demo是使用的开源项目fdk-aac将PCM数据编码成aac音频文件。由于提供的.a静态库是在x86_64的机器上编译的&#xff0c;所以默认情况下仅支持该架构的主机上编译运行。 $ make编译fdk-aac&#xff08;可选&#xff09; 如果想要在其他架构的CP…

【笔记】finalshell中使用nano编辑器GNU

ctrl O 保存 enter 确定 ctrl X 退出 nano编辑 能不用就不用吧 因为我真用不习惯 nano编辑的文件也可以用vim编辑的

VsCode崩溃无法打开解决办法

今天打开电脑 点开vscode突然不能使用了 每次点开都闪退,于是查找解决办法 直接重启电脑 这个方法没有解决问题 删除软件 重新安装软件 软件删干净之前保存下自己的配置文件 比如扩展和settings.json和keybinding.json Mac系统 在 /Users/用户名/.vscode/extensions 和/User…

2024年 春秋杯 网络安全联赛夏季赛 Web方向 题解WirteUp 部分

brother 题目描述&#xff1a;web哥&#xff0c;打点容易提权难。 打点就是最简单的SSTI。 执行下find / -user root -perm -4000 -print 2>/dev/null找一下具备suid权限的命令 /usr/lib/dbus-1.0/dbus-daemon-launch-helper /usr/bin/chsh /usr/bin/gpasswd /usr/bin/n…

Java-链表反转

题目&#xff1a; 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 图示&#xff1a; 输入&#xff1a; head [1,2,3,4,5] 输出&#xff1a; [5,4,3,2,1] 解题思路&#xff1a; 情况一&#xff1a; 只有一个节点或者没有节点 …

C语言 | Leetcode C语言题解之第224题基本计算器

题目&#xff1a; 题解&#xff1a; int calculate(char* s) {int n strlen(s);int ops[n], top 0;int sign 1;ops[top] sign;int ret 0;int i 0;while (i < n) {if (s[i] ) {i;} else if (s[i] ) {sign ops[top - 1];i;} else if (s[i] -) {sign -ops[top - 1…

Python | Leetcode Python题解之第223题矩形面积

题目&#xff1a; 题解&#xff1a; class Solution:def computeArea(self, ax1: int, ay1: int, ax2: int, ay2: int, bx1: int, by1: int, bx2: int, by2: int) -> int:area1 (ax2 - ax1) * (ay2 - ay1)area2 (bx2 - bx1) * (by2 - by1)overlapWidth min(ax2, bx2) - …

挑战杯 opencv python 深度学习垃圾图像分类系统

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; opencv python 深度学习垃圾分类系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 这是一个较为新颖的竞…

如何把harmonos项目修改为openharmony项目

一开始分不清harmonyos和openharmony&#xff0c;在harmonyos直接下载的开发软件&#xff0c;后面发现不对劲&#xff0c;打脑阔 首先你要安装对应版本的开发软件&#xff0c;鸿蒙开发是由harmonyos和openharmony官网两个的&#xff0c;找到对应的地方下载对应版本的开发软件&…

【链表】- 链表相交

1. 对应力扣题目连接 链表相交 2. 实现思路 链表详情&#xff1a; 考虑使用双指针&#xff1a; 解法一&#xff1a; 具体代码&#xff0c;详见3. 实现案例代码解析&#xff1a; 思路&#xff1a;因为链表按照如图的箭头走向&#xff0c;走的总路程是相等的&#xff0c;一…

数字交流便携式电阻式三相负载组

三相型号选项范围从小型、便携式、低功耗单元到大功率、室内和室外永久电阻负载组。型号标配按钮式手动控制以及 PC 软件控制&#xff0c;为处理复杂的测试应用提供先进的负载曲线解决方案。这些装置适用于各种用途&#xff0c;包括测试发电机、UPS 系统、数据中心电源系统、电…

自定义类TMyLabel继承自QLabel ,实现mouseDoubleClickEvent

自定义类TMyLabel &#xff0c;继承自QLabel TMyLabel 中重新实现了 event 方法&#xff0c;重写了mouseDoubleClickEvent 发射信号 在主窗体中放入TMyLabel组件&#xff0c;将TMyLabel mouseDoubleClickEvent 信号&#xff0c; 绑定到实现方法do_doubleClick()槽函数 TMy…

排序算法(算法篇)

算法之排序算法 排序算法 概念&#xff1a; 我们在的排序工作能在主存中完成的&#xff0c;我们就叫这种算法叫做内部排序不能在主存中完成而必须在磁盘或磁带上完成的排序算法叫做外部排序 冒泡排序 概念&#xff1a; 冒泡排序是一个很简单的排序算法&#xff0c;冒泡排…

【测试】软件测试方案(2024模板方案套用)

1. 引言 1.1. 编写目的 1.2. 项目背景 1.3. 读者对象 1.4. 参考资料 1.5. 术语与缩略语 2. 测试策略 2.1. 测试完成标准 2.2. 测试类型 2.2.1. 功能测试 2.2.2. 性能测试 2.2.3. 安全性与访问控制测试 2.3. 测试工具 3. 测试技术 4. 测试资源 4.1. 人员安排 4.2. 测试环境 4.2.…