当前位置: 首页 > news >正文

0x02 js、Vue、Ajax

文章目录

  • js
    • 核心概念
    • js脚本引入html的方式
    • 基础语法
    • 事件监听
  • Vue
    • vue简介
    • v-for
    • v-bind
    • v-if&v-show
    • v-model&v-on
  • Ajax

js

核心概念

JavaScript:是一门跨平台、面向对象的脚本语言,用来控制网页行为实现交互效果,由ECMAScriptBOMDOM组成

ECMAScript:规定了JS基础语法核心知识,包括变量、数据类型、流程控制、函数、对象等

BOM:浏览器对象模型,用于操作浏览器本身,如:页面弹窗、地址栏操作、关闭窗口

DOM:文档对象模型,用于操作HTML文档,如:改变标签内的内容、改变标签内的字体样式

js脚本引入html的方式

内部引入

<body><script>alert('hello world')</script>
</body>

引入外部js文件

<!DOCTYPE html>
<html>
<head><title>外部脚本示例</title><!-- 方式1:在 head 中引入(需谨慎) --><script src="js/script.js"></script>
</head>
<body><button onclick="showMessage()">点击我</button><!-- 方式2:推荐在 body 末尾引入 --><script src="js/script.js"></script>
</body>
</html>
function showMessage() {alert("Hello from external JS!");
}

基础语法

变量和常量

JS中用let关键字来声明变量,javascript是弱类型语言,变量可以存放不同类型的值。

变量名:

  1. 只能用字母、数字、下划线、**美元符号($)**组成,且数字不能开头
  2. 变量名严格区分大小写
  3. 不能使用关键字

JS中用const关键字来声明常量,一旦声明,常量的值就不能够改变(不可重新赋值)

alert是输出一个窗口,console是输出到控制台,这两种方式可以用于代码调试


数据类型:JavaScript的数据类型分为:基本数据类型和引用数据类型(对象)

基本数据类型:

  1. number:数字(整数、小数、NaN)
  2. boolean:布尔。true、false
  3. null:对象为空
  4. undefined:当声明的变量未初始化时,该变量的值默认为undefined
  5. string:字符串,单引号、双引号、反引号皆可,推荐使用单引号

typeof 可以获取数据类型

反引号定义的是模板字符串,类似python中的f字符串


JavaScript中函数通过function关键字进行定义

function functionName(参数1, 参数2 ...) {...
}
function add(a, b) {return a + b;
}

调用

let result = add(10, 20)
console.log(result)

匿名函数的定义

//函数表达式
let add = function(a, b) {return a + b;
}//箭头函数
let add = (a, b) => {return a + b;
}

对象类型

let 对象名 = {属性名1: 属性值1,属性名2: 属性值2,属性名3: 属性值3,方法名: function (形参列表) {}
} let user = {name: 'Tom',age: 20,gender: '男',sing: function () {alert(`${this.name}唱着最炫民族风`)}//sing () {//    alert(`${this.name}唱着最炫民族风`)//}
}//对象中的函数是可以进行简化的

需要注意的是在对象的方法中,使用箭头函数时,this并不是指向当前对象,而是指向当前对象的父对象


json:JavaScript Object Notation,Javascript对象标记法,由于json语法简单,层次结构鲜明,现多用作为数据载体,在网络中进行数据传输

1740616432971.png


DOM:Document Object Model,文档对象模型

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

  1. Document:整个文档对象
  2. Element:元素对象
  3. Attribute:属性对象
  4. Text:文本对象
  5. Comment:注释对象

1740616777504.png

DOM操作的核心思想:将网页中所有的元素当作为对象来处理。

操作步骤:

  1. 获取要操作的DOM元素对象
  2. 操作DOM对象的属性或方法

获取DOM对象最灵活常用的方式是根据css选择器来获取DOM对象

//获取匹配到的第一个元素
document.querySelector('选择器')
//获取匹配到的所有元素,返回的是一个数组
document.querySelectorAll('选择器')

事件监听

事件监听:JavaScript可以在事件触发时,就立即调用一个函数做出响应,也称事件绑定注册事件

语法:事件源.addEventListener('事件类型', 事件触发执行函数);

事件监听三要素:

  1. 事件源:哪个dom元素触发了事件,要获取dom元素
  2. 事件类型:用什么方式触发,比如:鼠标单击 click
  3. 事件触发执行的函数:要做什么事

常见事件

  1. 鼠标事件:click(鼠标点击)、mouseenter(鼠标移入)、mouseleave(鼠标移出)
  2. 键盘事件:keydown(键盘按下触发)、keyup(键盘抬起触发)
  3. 焦点事件:focus(获得焦点触发)、blur(失去焦点触发)
  4. 表单事件:input(用户输入时触发)、submit(表单提交时触发)

Vue

vue简介

Vue是一款用于构建用户界面渐进式JavaScript框架

渐进式指的是可以使用vue的一部分来构建我们的页面

<body><div id="app"><h1>{{ msg }}</h1></div><script type="module">// 1. 导入Vueimport { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js'createApp({data(){return {msg: 'Hello Vue'}}}).mount('#app')</script>
  1. script标签中的type属性module指使用模块化js
  2. .mount('#app')是指让vue接管id为app部分

v-for

在html标签上带有**v-**前缀的就是vue指令

v-for:用于列表渲染,遍历容器的元素或者对象的属性

<tr v-for="(item,index) in items" :key="item.id">{{ item }}</tr>
  • items为遍历的数组
  • item为遍历出来的元素
  • index为索引/下标,从0开始;可以省略v-for="item in items"
  • key是给元素添加的唯一标识,便于vue进行列表项的正确排序复用

v-bind

v-bind的作用是动态地为HTML标签绑定属性值,如设置hrefsrcstyle样式等

语法:

<img v-bind:src="item.image" width="30px">

简化后的语法:

<img :src="item.image" width="30px">

动态的为标签的属性绑定值,不能使用插值表达式,需要使用v-bind指令。且绑定的数据需要在data中定义

v-if&v-show

v-ifv-show这两类指令都是用来控制元素的显示与隐藏的

<span v-if="gender == 1">男生</span>
<span v-show="gender == 1">男生</span>

v-if:基于条件判断,来控制创建或移除元素节点,可以配合v-else-ifv-else进行使用

v-show:基于css样式display来控制显示与隐藏,都会渲染只是控制显示与隐藏

对用户来说达到的效果是一样的

v-model&v-on

v-model:在表单元素上使用,双向数据绑定。可以方便的获取或设置表单项数据

语法:

v-model="变量名"
<body><input type="text" id=name v-model="searchForm.name"><script type="module">import {createApp} from  'https://unpkg.com/vue@3/dist/vue.esm-browser.js'createApp({data(){return {searchForm: {name: '',gender: '',job: ''}}}}).mount('#container')</script>
</body>

v-model中绑定的变量,必须在data中定义

v-on:为html标签绑定事件(添加事件监听)

语法:v-on:事件名="方法名"

简写为:@事件名="方法名"

<body><div id="app"><button type="button" v-on:click="handle">点我</button><button type="button" @click="handle">再点我</button></div><script type="module">import {createApp} from  'https://unpkg.com/vue@3/dist/vue.esm-browser.js'createApp({data(){...},methods: {handle() {console.log('hello v-on')   }}}).mount('#app')</script>
</body>

methods函数中的this指向Vue实例,可以通过this获取到data中定义的数据

Ajax

Ajax:Asynchronous JavaScript And XML,异步的Javascript和XML

XML:Extensible Markup Language 可扩展标记语言,本质是一种数据格式,可以用来存储复杂的数据结构

Ajax作用

  1. 数据交换:通过Ajax可以给服务器发送请求,并获取服务器相应的数据
  2. 异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页,如搜索联想、用户名是否可用的验证

1740629844672.png

Axios:对原生Ajax进行封装,简化书写,快速开发

要使用Axios,需要先引入,可以通过script标签进行引入

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

1740632780655.png

1740633448249.png

http://www.lryc.cn/news/543876.html

相关文章:

  • Windows 11【1001问】删除Win11左下角小组件的6种方法
  • 【动手学深度学习】基于Python动手实现线性神经网络
  • leetcode 912. 排序数组
  • 【芯片设计】NPU芯片前端设计工程师面试记录·20250227
  • BUU40 [CSCCTF 2019 Qual]FlaskLight1【SSTI】
  • WiFi IEEE 802.11协议精读:IEEE 802.11-2007,6,MAC service definition MAC服务定义
  • 2025学年安徽省职业院校技能大赛 “信息安全管理与评估”赛项 比赛样题任务书
  • VAE变分自编码器的初步理解
  • 2025 最新版鸿蒙 HarmonyOS 开发工具安装使用指南
  • Rider 安装包 绿色版 Win/Mac/Linux 适合.NET和游戏开发者使用 2025全栈开发终极指南:从零配置到企业级实战
  • Python常见面试题的详解24
  • 手机打电话时如何识别对方按下的DTMF按键的字符-安卓AI电话机器人
  • RabbitMQ操作实战
  • IDEA 2024.1 最新永久可用(亲测有效)
  • 【R包】pathlinkR转录组数据分析和可视化利器
  • RPA 与 AI 结合:开启智能自动化新时代
  • [免费]Springboot+Vue在线文档管理系统【论文+源码+SQL脚本】
  • 内容选题与商业布局
  • 文字描边实现内黄外绿效果
  • 网络协议 HTTP、HTTPS、HTTP/1.1、HTTP/2 对比分析
  • 千峰React:Hooks(上)
  • salesforce 为什么无法关闭task,显示:insufficient access rights on object id
  • 机器学习:强化学习的epsilon贪心算法
  • MongoDB—(一主、一从、一仲裁)副本集搭建
  • MyBatis TypeHandler 详解与实战:FastJson 实现字符串转 List
  • 第二十八:5.5.【storeToRefs】5.6.【getters】
  • APISIX Dashboard上的配置操作
  • MinIO在 Docker中修改登录账号和密码
  • 英文论文查重,Turnitin和IThenticate两个系统哪个更合适?
  • pnpm的基本用法