WEB06JavaScriptAjax

news2024/12/29 11:04:29

基础语法

引入方式

引入方式

内部脚本:将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中文网

请求方式别名

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

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

相关文章

matlab:对带参数a关于x的方程求解

题目 讲解 简洁对各个式子的内部含义用浅显易懂的话语总结出来了&#xff0c;耐心体会 f(a) (x)exp(x)x^ax^(sqrt(x))-100;%因为下面的fzero的第一个数需要一个fun&#xff0c;所以这里有两个句柄&#xff0c;第一个a是输入的&#xff0c;第二个x是需要被解出的 A0:0.1:2;%创…

提高生产效率和质量的六西格玛方法(优思学院)

想象一下&#xff0c;你被公司指派了一个重要项目&#xff0c;这家公司生产豪华汽车。当前&#xff0c;公司的生产数量正在下降&#xff0c;每天生产的汽车数量明显减少。此外&#xff0c;还存在安装在这些汽车上的雨刮器质量问题。你面临的挑战是找到解决方案&#xff0c;将生…

【CW32F030CxTx StartKit开发板】利用超声波传感器实现智能灯控

目录 1、超声波传感器 2、硬件连线 3. 程序开发 3.1 超声波测距 3.2 LED控制 4. 演示视频 本文首发于21ic。 感谢21ic和武汉芯源提供的测试机会。 在上一篇帖子中介绍了CW32F030CxTxStartKit 评估板的环境构建。本次介绍如何利用超声波传感器实现人来灯亮&#xff0c;人…

前端开发过程中经常遇到的问题以及对应解决方法 (持续更新)

我的朋友已经工作了 3 年&#xff0c;他过去一直担任前端工程师。 不幸的是&#xff0c;他被老板批评了&#xff0c;因为他在工作中犯了一个错误&#xff0c;这是一个非常简单但容易忽视的问题&#xff0c;我想也是很多朋友容易忽视的一个问题。 今天我把它分享出来&#xff…

【PCIe】P2P DMA

PCIe P2P (peer-to-peer communication)是PCIe的一种特性&#xff0c;它使两个PCIe设备之间可以直接传输数据&#xff0c;而不需要使用主机RAM作为临时存储。如下图3的走向 比如EP1要发送和数据给EP2,操作流程如下&#xff1a; 1. 打开EP1的dma控制器&#xff1b;--client侧 …

微调LLMs : 介绍,方法和最佳实践

来自Turing的LLMs的Fine-Tuning的最佳实践。 大型语言模型&#xff08;LLMs&#xff09;凭借其先进的功能和高度精密的解决方案&#xff0c;已经彻底改变了自然语言处理领域。这些模型在海量文本数据集上接受训练&#xff0c;执行诸如文本生成、翻译、摘要和问题回答等多种任务…

Linux安装Jmeter及简单使用教程

Linux安装Jmeter 首先需要java环境 java --version官网 下载二进制包 #创建文件夹 sudo mkdir /usr/local/jmeter #解压 sudo tar zxvf apache-jmeter-5.6.3.tgz -C /usr/local/jmeter编辑配置文件 sudo vim /etc/profile&#xff0c;添加以下内容 export JMETER_HOME/usr/l…

【Python_GUI】tkinter常用组件——文本类组件

文本时窗口中必不可少的一部分&#xff0c;tkinter模块中&#xff0c;有3种常用的文本类组件&#xff0c;通过这3种组件&#xff0c;可以在窗口中显示以及输入单行文本、多行文本、图片等。 Label标签组件 Label组件的基本使用 Label组件是窗口中比较常用的组件&#xff0c;…

spring mvc学习

第四章 Spring MVC 第一节 Spring MVC 简介 1. Spring MVC SpringMVC是一个Java 开源框架&#xff0c; 是Spring Framework生态中的一个独立模块&#xff0c;它基于 Spring 实现了Web MVC&#xff08;数据、业务与展现&#xff09;设计模式的请求驱动类型的轻量级Web框架&am…

Java面试八股之MySQL和postgresql的区别有哪些

MySQL和postgresql的区别有哪些 MySQL和PostgreSQL是两种非常流行的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它们各自拥有独特的特性和优势&#xff0c;适用于不同的场景。以下是它们之间的一些主要区别&#xff1a; SQL标准遵守程度 PostgreSQL 更严…

IDEA启动tomcat之后控制台出现中文乱码问题

方法1&#xff1a; 第一步&#xff1a;file--setting--Editor--File Encodings 注意页面中全部改为UTF-8&#xff0c;然后apply再ok 第二步&#xff1a;Run--Edit Configuration&#xff0c;将VM options输入以下值&#xff1a; -Dfile.encodingUTF-8 还是一样先apply再ok …

Linux走进网络

走进网络之网络解析 目录 走进网络之网络解析 一、认识计算机 1.计算机的发展 2.传输介质 3.客户端与服务器端的概念 交换机 路由器 二、计算机通信与协议 1. 协议的标准化 2. 数据包的传输过程 OSI 协议 ARP协议 3. TCP/IP:四层模型 4. TCP三次握手和四次挥手…

exel带单位求和,统计元素个数

如果exel表格中&#xff0c;如果数据有单位&#xff0c;无法直接用 自动求和 直接求和。如下图所示&#xff0c;求和结果为0&#xff0c;显然不是我们想要的。 用下面的公式求和&#xff0c;单位不是“个”的时候记得替换单位。统计范围不是“C1:C7”也记得换一下啊&#xff01…

MyBatis的底层机制

手写MyBatis底层机制 读取配置文件&#xff0c;得到数据库连接 思路 引入必要的依赖需要写一个自己的config.xml文件&#xff0c;在里面配置一些信息&#xff0c;driver&#xff0c;url &#xff0c;password&#xff0c;username需要编写Configuration类&#xff0c;对 自己…

继 承

为什么要有继承&#xff0c;继承的作用&#xff1f; 继承(inheritance)机制&#xff1a;是面向对象程序设计使代码可以复用的最重要的手段&#xff0c;它允许程序员在保持原有类特性的基础上进行扩展&#xff0c;增加新功能&#xff0c;这样产生新的类&#xff0c;称派生类。 …

如何使用Python脚本实现SSH登录

调试IDE&#xff1a;PyCharm Python库&#xff1a;Paramiko 首先安装Paramiko包到PyCharm&#xff0c;具体步骤为&#xff1a;在打开的PyCharm工具中&#xff0c;选择顶部菜单栏中“File”下的“Settings”&#xff0c;在设置对话框中&#xff0c;选择“Project”下的“Proje…

三星强劲财报,Q2营业利润同比增长1452%!

KlipC报道&#xff1a;7月5日&#xff0c;全球最大的内存芯片和智能手机制造商三星电子公布了初步的第二季度财报&#xff0c;其营业利润同比增长1452.24%&#xff0c;达到10.4万亿韩元&#xff08;约合人民币548亿元&#xff09;&#xff0c;销售额74万亿韩元&#xff0c;同比…

shell脚本编程的练习

字符测试方法&#xff1a; 双目测试 比较两个字符串&#xff1a; &#xff1a;等于,等值比较 &#xff01;&#xff1a;不等 单目测试&#xff1a; -n $stringVar:字符串是否为空&#xff0c;不空为真&#xff0c;空则为假 -z $stringVar:字符串是否为空&#xff0c;空则为…

新闻第一线|随身WiFi市场乱象与破局者:格行以品质重塑行业信任、随身WiFi行业标杆!

在快速发展的移动互联网时代&#xff0c;随身WiFi凭借用网方便性价比高也随之爆火。然而&#xff0c;近年来&#xff0c;随身WiFi市场却陷入了“内卷”与“信任危机”的双重困境&#xff0c;消费者在选择时往往面临质量问题。在此背景下&#xff0c;格行以其独特的品牌理念和扎…

html+css+js随机验证码

随机画入字符、线条 源代码在图片后面 点赞❤️关注&#x1f60d;收藏⭐️ 互粉必回 图示 源代码 <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"…