JavaWeb——前端之JSVue

接上篇笔记

4. JavaScript

概念

  • 跨平台、面向对象的脚本语言,使网页可交互
  • 与Java语法类似,但是不需要变异,直接由浏览器解析
  • 1995年Brendan Eich发明,1997年成为ECMA标准(ECMA制定了标准化的脚本程序设计语言ECMAScript,JavaScript是遵守ECMAScript标准的)
  • JS中可以识别HTML标签

1)引入方式

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

  • JS代码位于<script></script>标签之间
  • 在HTML文档中,可以在任意地方,放任意数量的<script>
  • 一般会把脚本置于<body>元素底部,可以改善显示速度

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

  • 外部文件中就只有JS代码了,不包含<script>标签
  • <script>标签不能自闭合

2)基础语法

书写语法

  • 区分大小写
  • 结尾分号可有可无,建议有
  • 注释与Java同
  • 大括号表示代码块

输出语句

  • window.alert(“小鱼来咯”)——写入警告框
  • document.write(“小鱼又来咯”)——写入HTML,在浏览器中展示
  • console.log(“小鱼双来咯”)——写入浏览器控制台

变量

  • JavaScript中用var关键字来声明变量,可以重复使用
  • 弱类型语言,可以存放不同类型的值
  • 变量名需要遵循的规则
    • 组成字符:字母、数字、下划线、美元符号
    • 数字不能开头
    • 建议使用驼峰命名
    • 作用域是全局
  • 注:ECMAScript 6新增了let关键字来定义变量——局部变量,不允许重复声明;新增了const关键字,用来声明一个只读的常量,一旦声明,常量的值就不能改变
  • 有原始类型和引用类型共5种(number、string、boolean、null(返回Object,null可以解释为对象的占位符)、undefined(声明的变量未初始化时,变量的默认值)),可以使用alert(typeof 变量名)获取变量的类型

运算符

  • 与Java同
  • 特别
    • ==会进行类型转换
    • ===不会进行类型转换

类型转换

  • 字符串转int:parseInt(“字符串”);碰到第一个不是数字的就会停止,如果全都不是数字,返回NAN
  • 其他类型转换为boolean:
    • number:0和NaN为false,其余为true
    • string:空字符串为false,其余为true
    • Null和undefined:均转为false

流程控制语句与Java同

3)函数

定义: function关键字

function functionName (参数1,参数2) {

​ // 要执行的代码

}

var add = functionName(参数) {

}

注意:

JS是弱类型的,形参不需要指定类型,也不需要指定返回值的类型

可以传递任意个数的参数,但是函数只会用它自己需要的

4)对象

基本对象:

①Array

  • 定义:var 变量名 = new Array(元素列表); / var 变量名 = [元素列表];
  • 访问:变量名[索引] = 值;
  • 注意:长度可变;类型可变
  • 属性:length—— 数量
  • 方法:forEach()——遍历数组中有值的元素
  • ​ push()—— 添加元素到数组的尾部
  • ​ splice()——删除元素

②String

  • 定义:var 变量名 = new String(“…”); var 变量名 = “…”;
  • 属性:length——长度
  • 方法:charAt()——返回在指定位置的字符
  • ​ indexOf()——检索某个子字符串的位置
  • ​ trim()——去除字符串两边的空格
  • ​ substring()——提取字符串两个指定索引号之间的字符,左闭右开

③JSON

JS中自定义对象

  • 定义:

var 对象名 = {

​ 属性名1:属性值1,

​ …

​ 函数名:function(形参列表) {

​ 要执行的方法

​ }

​ 函数名(形参列表) {

​ 要执行的方法

​ }

};

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

JSON(JavaScript Object Notation, JavaScript对象标记法)——JS自定义对象中将属性名也用双引号引起

  • 定义:
    • var 变量名 = ‘{“key1”: value1, “key2”: value2}’;
  • 特点:语法简单,层次结构鲜明
  • 作用:作为数据载体,在网络中进行数据传输
  • JSON字符串转为JS对象
    • var jsObject = JSON.parse(userStr);
  • JS对象转为JSON字符串
    • var jsonStr = JSON.stringify(jsObject);

浏览器对象:

BOM(Browser Object Model, 浏览器对象模型),允许JavaScript与浏览器对话,将浏览器的各个组成部分封装为对象

组成:

  • Window:浏览器窗口对象
  • Navigator:浏览器对象(内核等)
  • Screen:屏幕对象
  • History:历史记录对象
  • Location:地址栏对象

文档对象:

DOM(Document Object Model, 文档对象模型)

作用:将标记语言的各个组成部分封装为对应的对象——>DOM树

  • Document:整个文档对象
  • Element:元素对象
  • Attribute:属性对象
  • Text:文本对象
  • Comment:注释对象

DOM+事件监听机制来控制网页行为

  • 改变HTML元素的内容
  • 改变HTML元素的样式
  • 对HTML DOM事件作出反应
  • 添加和删除HTML元素

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5)事件监听

  • 事件:发生在HTML元素上的事情(按钮被点击,鼠标移动到元素上,按下键盘按键)
  • 事件监听:JS可以在事件被侦测到时执行代码
  • 事件绑定:
    • 方式一:通过HTML标签中的事件属性进行绑定
    • 方式二:通过DOM元素属性绑定
  • 常见事件:
  • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5. Vue

概念: 一套前端框架,免除原生JS中的DOM操作。框架是一个半成品软件,是可以重用、通用的软件基础代码模型,就是不用从0开始了。

思想: 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。

在这里插入图片描述

引入: <script src=“js/vue.js”> </script>

数据模型: 在JS代码区域,创建Vue核心对象,定义数据模型

<script>

​ new Vue ({

​ el :“#app”,

​ data:{

​ message:“Hello Vue!”

​ },

​ methods:{

​ // 具体的函数实现

​ }

​ })

</script>

视图模型:在body里面写的

<div id=“app”>

​ <input type=“text” v-model=“message”>

​ {{ message }} // 插值模型,里面的内容可以是变量、三元运算符、函数调用、算数运算

</div>

常用指令: HTML标签上带有v-前缀的特殊属性,不同指令有不同的含义

在这里插入图片描述

v-bind和v-model绑定的变量,必须要在数据模型中声明

Vue的生命周期: 指一个对象从创建到销毁的整个过程。每出发一个生命周期事件,会自动执行一个生命周期方法(钩子)

在这里插入图片描述

  • beforeCreate:Vue实例创建初期
  • created:Vue实例初始化
  • beforeMount:创建 vm.$el,并用其替换el之前
  • mounted:创建 vm.$el,并用其替换el之后——发送异步请求到后端获取数据
  • 挂载完毕
  • beforeUpdate:当data被修改时
  • updated:虚拟DOM重新渲染并应用更新之后
  • beforeDestory:当调用vm.$destroy()函数时
  • 解除绑定,销毁子组件以及事件监听器
  • destroyed:销毁完毕

在这里插入图片描述

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

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

相关文章

杰发科技AC7840——EEPROM初探

0.序 7840和7801的模拟EEPROM使用不太一样 1.现象 按照官方Demo&#xff0c;在这样的配置下&#xff0c;我们看到存储是这样的&#xff08;连续三个数字1 2 3&#xff09;。 使用串口工具的多帧发送功能 看不出多少规律 修改代码后 发现如下规律&#xff1a; 前四个字节是…

HarmonyOS page生命周期函数讲解

下面 我们又要看一个比较重要的点了 页面生命周期 页面组件有三个生命周期 onPageShow 页面显示时触发 onPageHide 页面隐藏时触发 onBackPress 页面返回时触发 这里 我们准备两个组件 首先是 index.ets 参考代码如下 import router from ohos.router Entry Component struc…

06-C++ 类和对象-多态

类与对象 多态 1. 简介 一个事物的多种形态&#xff0c;简称多态。 物的多态 同一个人在不同人面前&#xff0c;角色不同 如&#xff1a; 在父母面前在对象面前在朋友面前在同事面前 事的多态 同一种事情&#xff0c;在不同情况下展现不同 如&#xff1a; 吃饭 中国人 筷子 …

NXP实战笔记(一):基于RTD-SDK新建一个S32DS工程

目录 1、概述 2、操作步骤 2.1、新建Application工程 2.2、命名工程、选择芯片型号、选择编译器GCC版本 2.3、配置基本参数 3、文件描述 3.1、文件结构描述 3.2、编译之后 4、下载调试 1、概述 安装了S32DS之后&#xff0c;导入SDK插件&#xff0c;这个步骤不赘述&…

世界经济论坛制定了五项指导原则,实现跨OT环境的网络安全。

内容概述&#xff1a; 世界经济论坛在其题为“解锁工业环境中的网络弹性&#xff1a;五项原则”的报告中列出&#xff1a;原则一&#xff1a;执行全面风险管理OT 环境、原则二&#xff1a;确保OT工程师和安装操作员对OT网络安全负责、原则三&#xff1a;与高层组织领导、战略规…

传感器原理与应用复习--光电式与半导体式传感器

文章目录 上一篇光电传感器光电器件 光纤传感器光纤传感器的工作原理及组成 半导体传感器下一篇 上一篇 光电传感器 光电器件 每个光子的能量为 E h v E hv Ehv h为普朗克常数 6.626 ∗ 1 0 − 34 ( J / s ) 6.626 * 10^{-34}(J/s) 6.626∗10−34(J/s) ν \nu ν 为光…

yolov5 主要流程

1.介绍 本文包含了有关yolov5目标检测的基本流程&#xff0c;包括模型训练与模型部署&#xff0c;旨在帮助小伙伴们建立系统的认知&#x1f496;&#x1f496; YOLO是 "You only look once "的首字母缩写&#xff0c;是一个开源软件工具&#xff0c;它具有实时检测…

【Java开发岗面试】八股文—Java框架(Spring+SpringMVC+MyBatis+SpringBoot)

声明&#xff1a; 背景&#xff1a;本人为24届双非硕校招生&#xff0c;已经完整经历了一次秋招&#xff0c;拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验&#xff08;主要是校招&#xff09;&#xff0c;包括我自己总结的八股文、算法、项目介绍、HR面和面试…

IC入门必备!数字IC中后端设计实现全流程解析(1.3万字长文)

吾爱IC社区自2018年2月份开始在公众号上开始分享数字IC后端设计实现相关基础理论和实战项目经验&#xff0c;累计输出文字超1000万字。全部是小编一个个字敲出来的&#xff0c;绝对没有复制粘贴的情况&#xff0c;此处小编自己得给自己鼓鼓掌鼓励下自己。人生不要给自己设限&am…

web前端开发html/css求职简介/个人简介小白网页设计

效果图展示&#xff1a; html界面展示&#xff1a; html/css代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.…

scanf函数返回值被忽略

心怀希望的前进 前言 最近在复习c语言&#xff0c;发现了许多之前不了解的知识&#xff0c;今天想来与大家分享一下scanf返回值值被忽略的问题。 很多人应该都在vs中见到过&#xff0c;我们先说原因&#xff0c;再说改进方法 原因&#xff1a; scanf函数在读取数据时不会检…

华为无线ac双链路冷备和热备配置案例

所谓的冷备和热备&#xff0c;冷备就是不用vrrp和hsb协议同步ap和用户信息&#xff0c;主的断了等七十五秒后&#xff0c;备的capwap和ap连接上去。 双链路冷备不用vrrp和hsb 双链路热备份只用hsb同步ap和用户信息&#xff0c;不用vrrp&#xff0c;两个ac可以不用在同一个二层…

新年好,恭喜发财,喜气临门

2024&#xff0c;尽人事&#xff0c;听天命&#xff01; 身体健康。 尽力工作&#xff0c;身体健康优先。 减肥&#xff0c;适当运动。 休养生息。 技术人上班用脑子&#xff0c;下班就不要用脑子了。 放松脑细胞。 日子一天一天过&#xff0c;钱慢慢挣。 挣钱不在多少…

flask之文件管理系统-项目 JRP上线啦!!! ---修订版,兼容Windows和Linux系统

上一章的版本https://blog.csdn.net/weixin_44517278/article/details/135275066&#xff0c;在Windows下debug完成无异常后&#xff0c;上传到我的树莓下开始正式服役 由于开发环境是Windows&#xff0c;使用环境是Linux&#xff0c;导致最后没能成功运行起来 这个版本是今天去…

个人财务管理软件Money Pro mac功能特点

Money Pro mac是一款专为Mac用户设计的个人财务管理软件&#xff0c;具有全面的账户管理、智能的预算规划、强大的投资分析、丰富的报表和图表、安全的数据保护以及易于使用的界面设计等特点。 Money Pro mac功能和特点 全面的账户管理&#xff1a;支持多种账户类型&#xff0…

Threejs项目实战之四:实现地图雷达效果

目录 最终效果代码实现创建项目DigitalMapView.vue的核心代码 最终效果 最近事情比较多&#xff0c;今晚难得有空&#xff0c;就抽空完成了一个使用Threejs实现地图雷达扫描效果的程序&#xff0c;下面说下代码实现的原理及核心代码&#xff0c;老规矩&#xff0c;先看下效果图…

【模拟电路】常见电子元器件

一、常见电子元器件 二、电阻器 三、电容器 四、电感器 五、电容电感组成LRC振荡电路 六、保险丝、熔断器 七、锂电池 八、接插件 九、蜂鸣器 立创商城_一站式电子元器件采购自营商城-嘉立创电子商城 华秋商城(原"华强芯城")官网_电子元器件采购网_自营现货电子元器…

Jupyter Notebook又一地理数据可视化扩展!

本次分享一个Jupyter Notebook地理数据可视化扩展&#xff1a;pyl7vp pyl7vpPythonl7vp&#xff0c;如其名&#xff0c;是l7vp在Python3方向的封装&#xff0c;l7vp是蚂蚁集团AntV数据可视化团队开发的地理空间智能应用研发开源平台。 通过pyl7vp可在Jupyter Notebook中轻松完…

大模型系列:OpenAI使用技巧_使用文本向量化Embeding进行分类

文章目录 使用文本向量化Embeding进行分类使用文本向量进行零样本Zero Shot分类 使用文本向量化Embeding进行分类 有许多方法可以对文本进行分类。本笔记本分享了使用嵌入进行文本分类的示例。对于许多文本分类任务&#xff0c;我们已经看到微调模型比嵌入效果更好。请参见微调…

命令模式-举例

开关和电灯之间并不存在直接耦合关系&#xff0c;在命令模式中&#xff0c;发送者与接收者之间引入了新的命令对象&#xff0c;将发送者的请求封装在命令对象中&#xff0c;再通过命令对象来调用接收者的方法。 命令模式的主要缺点如下&#xff1a; 使用命令模式可能会导致某…