JAVA前端快速入门基础_javascript入门(02)

写在前面:本文用于快速学会简易的JS,仅做扫盲和参考作用

1.JavaScript函数

什么是函数:执行特定任务的代码块

1.1定义:

使用function来进行定义(类似于python里面的def 或者java和c++里面的void,int这些返回类型开头)。定义规则如下:

function Func_1(para1, para2){
	//代码块
}

注意,para1和para2这种形式参数不需要给类型,返回值也不需要定义类型(属于弱语言定义,和python是类似的效果)

1.2调用函数:

1.2.1直接定义和调用:
function add(a, b){
	return a+b;
}
var m = add(1,2)
1.2.2直接定义的同时调用:
var add = function(a, b){
	return a+b;
}
var m = add(1,2)

2.JavaScript对象

JS和众多的语言一样,具备着面向对象编程的特点,所以我们在此章节讨论JS里面的对象。JS有着各种各样的对象,我们主要讲比较重要的几种对象。

对象模型子模型
Array(数组模型)
String(字符串模型)
JSON(JavaScript Object Notation模型)
BOM(Browser Object Model)window(浏览器窗口对象),history(历史对象),location(获取窗口、框架对象),navigator(对Navigator对象的只读引用)
DOM(Document Object Model)Document(整个文档的对象),Element(元素对象),Attribute(属性对象),Text(文本对象),Comment(注释对象)

2.1Array(数组):

2.1.1定义方式:
//第一种
var arr = new Array(1,2,3,4);
//第二种
var arr = [1,2,3,4];
2.1.2属性和使用方式:

数组的长度是可变的,存放数据类型也可以改变,例子如下:

var arr = [1,2,3,4]
arr[10] = "50"
alert(arr)
alert(arr[5])

请添加图片描述
请添加图片描述

我们可以看到数组的输出长度已经变成了11,然后中间未定义的数组类型已经变成了undefined类型(未定义类型)。

Array对象里面内置了各种属性和方法,我们介绍比较常见的属性和方法:

属性or方法作用
length返回数组的长度
forEach()遍历数组中每个有值的元素,返回值为依次弹出来的值
push()往数组末尾添加新元素,返回新的长度
splice()从数组中删除元素,使用两个参数,第一个为开始的位置(从0开始),第二个为删除的数量为多少

通过以下代码即可看到各个函数的效果

arr = [1,2,3,4]
alert(arr.length) //获取到数组的长度
arr.forEach(element=>{
	alert(element)
});
arr.push(2)
arr.splice(0,1)
alert(arr)

2.2String(字符串):

2.2.1定义方式:
//第一种
var a = new String("HelloJS")
//第二种
var a = "HelloJS"
2.2.2 属性和方法
属性or方法作用
length获取字符串长度
charAt()获取下标位置所在的字符
indexOf()检索字符串,输入的参数为需要找到的字符串,返回的是找到的子字符串的开头的下标
trim()去掉字符串两边的空格
substring()截取字符串,参数为start和end,截取到start到end的字符串,和JAVA类似,截取到的仅包括start而不包括end

通过以下代码可以看到各个函数的效果:

var str = new String(" HelloJS ")
console.log(str)
console.log(str.length)
console.log(str.charAt(1))
console.log(str.indexOf("ll"))
console.log(str.trim())
console.log(str.substring(1,2))

效果如下所示:
请添加图片描述

2.3JSON(JavaScript Object Notation):

2.3.1 定义方式:

当我们定义普通的自定义类的时候,使用如下方式实现自定义类

var Json = {
	name:"Tom",
	age:18,
	zong:add(a,b){
		return a+b;
	}
};

JSON实际上是一种特殊的自定义类,它和自定义类的区别在于JSON对象的所有属性都需要双引号括起来(如下个示范代码所示,单引号也是不行的,且最后一行的属性不准使用",",否则就不是格式正确的JSON格式,且JSON里面不包含自定义类的方法)

var json={
	"name":"Jerry",
	"type":"rabbit",
	"age":10
};

如果需要验证自己的JSON格式是否正确,可以到这个网站来测试自己的JSON格式是否正确,如下图所示则为正确的格式
请添加图片描述

2.3.2 如何使用:

JSON多用于数据载体,主要在网络中进行数据传输。在使用的时候,使用字符串进行包装然后进行赋值给变量。如何获得JSON对象的字符

//JSON字符串到JS对象
var jsObject = JSON.parse(userStr);
alert(jsObject.name)
//从JS对象到JSON字符串
var jsonStr = JSON.stringify(jsObject)

2.4BOM(Browser Object Model):

全称为浏览器对象模型,被用于JS与浏览器进行对话。主要有以下几种模型

对象作用
window浏览器窗口对象(重点了解)
history获取History对象的只读引用
location获取窗口或框架的Location对象(重点了解)
navigator对navigator对象的只读引用
2.4.1 window(窗口对象):

如何调用:

window.alert("Hello")
//由于默认的Window会使用,所以可以直接省略window
alert("Hello")

window里面所能使用的方法为:

方法作用
alert()显示带有一段消息和一个确定按钮的警告框
confirm()显示带有一段消息以及确定按钮和取消按钮的对话框,点击确定按钮返回值为true,点击取消返回的值为false
setInterval()按照指定的周期(以毫秒计)来调用函数or计算表达式,周期性的执行,调用方式为setInterval(function(){},2000),每隔2000ms调用一次function()
setTimeout()和setInterval()差不多,在指定的毫秒数后调用函数,但是setTimeout(function(){},2000)仅仅只执行一次

需要注意的事,我们在使用setInterval的时候,里面的function(){}不能带有形式参数,如果我们需要使用参数,可以在function里面调用别的函数来传递参数

2.4.2 location(地址栏对象):

如何调用:

window.location.属性
或者
location.属性

常用属性:

属性作用
href设置或者返回完整的URL

2.5 DOM(Document Object Model):

DOM为文档对象模型,就是将标记语言的各个组成部分封装为对应的对象。主要有以下几种

对象作用
Document整个文档构成为一个对象
Element元素对象,如(html),(div)等都为元素对象
Attribute属性对象,如(div)里面的href=等即为Attribute对象
Text文本对象,如div里面的文字属性即为这个
Comment注释对象

JS通过DOM和事件监听行为来控制网页端的变化,主要可以实现下列效果:
1.改变HTML的内容
2.改变HTML的样式(改变CSS)
3.对DOM事件做出反应
4.添加或者删除HTML语言

2.5.1获取方式:

HTML中的Element可以通过Document获取,而Document可以通过window来获取。
1.通过id,返回单个对象

var h1 = document.getElementById('h1');

2.通过标签名,获得对象数组

var divs = document.getElementsByTagName('div');

3.通过name属性值获得对象数组

var hobbys = document.getElementsByName('hobby');

4.通过class属性获得对象数组

var clss = document.getElementsByClassName('cls');

通过以下代码可以实现改变HTML语言。可以把显示的内容从HelloJS改为 改变

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <div id="use">HelloJS</div>
</body>
</html>
<script>
    var gai = document.getElementById('use');
    gai.innerHTML = "改变"
</script>

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

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

相关文章

【17】JAVASE-集合专题【从零开始学JAVA】

Java零基础系列课程-JavaSE基础篇 Lecture&#xff1a;波哥 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。…

【linuxC语言】进程概念与fork

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、进程的概念二、进程基本函数2.1 fork函数2.2 getpid与getppid函数 三、示例代码总结 前言 在 Linux 系统编程中&#xff0c;进程是计算机中正在执行的程序…

【Spring基础】关于Spring IoC的那些事

文章目录 一、如何理解IoC1.1 Spring IOC 概述1.2 IoC 是什么 二、Ioc 配置的方式2.1 xml 配置2.2 Java 配置2.3 注解配置 三、依赖注入的方式3.1 setter方式3.2 构造函数3.3 注解注入 小结 一、如何理解IoC 1.1 Spring IOC 概述 控制反转 IoC(Inversion of Control)是一种设计…

分辨率与像素

一 概念 分辨率: 分辨率指的是图像或显示器屏幕上可见的像素数量&#xff0c;通常以水平像素数和垂直像素数表示。例如&#xff0c;一个分辨率为1920x1080的屏幕意味着在水平方向上有1920个像素&#xff0c;在垂直方向上有1080个像素。分辨率决定了图像或屏幕上能够显示的细节…

神经网络反向传播算法

今天我们来看一下神经网络中的反向传播算法&#xff0c;之前介绍了梯度下降与正向传播~ 神经网络的反向传播 专栏&#xff1a;&#x1f48e;实战PyTorch&#x1f48e; 反向传播算法&#xff08;Back Propagation&#xff0c;简称BP&#xff09;是一种用于训练神经网络的算…

qt5-入门-2D绘图-Graphics View 架构

参考&#xff1a; Qt Graphics View Framework_w3cschool https://www.w3cschool.cn/learnroadqt/4mvj1j53.html C GUI Programming with Qt 4, Second Edition 本地环境&#xff1a; win10专业版&#xff0c;64位&#xff0c;Qt 5.12 基础知识 QPainter比较适合少量绘图的情…

蓝桥杯如何准备国赛?

目录 一、赛前准备 1、如何刷题&#xff0c;刷哪些题&#xff1f; 2、记录&#xff08;主要看个人习惯&#xff09; CSDN博客 写注释 3、暴力骗分 4、从出题人的角度出发&#xff0c;应该如何骗分 二、赛中注意事项 一、赛前准备 1、如何刷题&#xff0c;刷哪些题&…

Ubuntu 24.04安装搜狗输入法-解决闪屏问题

问题描述 在Ubuntu 24.04 LTS系统中按照官方安装指导《Ubuntu20.04安装搜狗输入法步骤》安装搜狗输入法后&#xff1a; 会出现屏幕闪烁&#xff0c;无法正常使用的问题&#xff1b;系统搜索框和gnome-text-editor无法使用搜狗输入法&#xff1b; 原因分析 闪屏可能是Ubuntu…

ESP32-C3第二路串口(非调试)串口打通(1)

1. 概述与引脚复用 《ESP32-C3 系列芯片技术规格书》中提到&#xff0c;ESP32-C3系列芯片中有两路串口。 第1路串口就是常用的调试串口&#xff0c;在笔者使用的ESP32-C3-DevKitC-02开发板中&#xff0c;这一路串口通过CP2102 USB转UART桥芯片与电脑的USB口相连接&#xff0c;…

c4d渲染动画只能渲染1帧怎么回事?c4d云渲染解决1秒停止

当您在C4D中尝试渲染动画时&#xff0c;如果只渲染出了一个静止的帧&#xff0c;这通常意味着您的设置中存在一些问题。动画本身是由一系列连续的静态图像&#xff08;帧&#xff09;组成的&#xff0c;如果只生成了一帧&#xff0c;那么显然是渲染设置出现了错误。为了解决这个…

如何利用快解析远程访问NAS、FTP、Web服务

什么是内网、外网&#xff1f; 所谓内网就是内部建立的局域网络或办公网络。一家公司或一个家庭有多台计算机&#xff0c;他们利用不同网络布局将这一台或多台计算机或其它设备连接起来构成一个局部的办公或者资源共享网络&#xff0c;我们就称它为内部网络&#xff0c;也叫内…

微服务之SpringCloud AlibabaSeata处理分布式事务

一、概述 1.1背景 一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用&#xff0c;就会产生分布式事务问题 but 关系型数据库提供的能力是基于单机事务的&#xff0c;一旦遇到分布式事务场景&#xff0c;就需要通过更多其他技术手段来解决问题。 全局事务&#xff1a;…

计算机网络4——网络层4内部路由选择协议

文章目录 一、有关路由选择协议的几个基本概念1、理想的路由算法2、分层次的路由选择协议 二、内部网关协议 RIP1、协议 RIP 的工作原理2、特点3、距离向量算法4、坏消息传播慢 三、内部网关协议 OSPF1、基本特点2、OSPF 的五种分组类型 本节将讨论几种常用的路由选择协议&…

【Mac】mac 安装 prometheus 报错 prometheus: prometheus: cannot execute binary file

1、官网下载 Download | Prometheus 这里下载的是prometheus-2.51.2.linux-amd64.tar.gz 2、现象 解压之后启动Prometheus 启动脚本&#xff1a; nohup ./prometheus --config.fileprometheus.yml > prometheus.out 2>&1 & prometheus.out日志文件&#xff…

【C++】:类和对象(下)

目录 一&#xff0c;再谈构造函数1.初始化列表2. 隐式类型转换的过程及其优化3. 隐式类型转换的使用4. explcit关键字5. 单参数和多参数构造函数的隐式类型转换 二&#xff0c;static成员1.静态成员变量2.静态成员函数 三&#xff0c;友元3.1 友元函数3.2 友元类 四&#xff0c…

Vue ui 创建vue项目,详细使用攻略。

1.安装及启动 1.1 Vue ui 使用前提是全局安装vue.js 命令如下 npm install vue -g 1.2 安装过Vue.js 之后 随便在自己系统的一个地方打开命令面板 1.3 使用命令启动vue ui面板创建项目 vue ui 如图运行后显示这种就是启动成功&#xff0c;成功之后会弹出页面或者直接访问你的…

QT5制做两个独立窗口

目录 增加第二个窗口 主窗口文件添加一个私有成员为子窗口 定义两个槽函数和 关联按钮和子窗口和主窗口 添加子窗口成员 子窗口处理函数 补充回顾 增加第二个窗口 1、 2、 3 主窗口文件添加一个私有成员为子窗口 在mainwidget.h文件 同时添加两个槽&#xff1b;来处理…

Visual studio 2019 编程控制CH341A芯片的USB设备

1、硬件 买了个USB可转IIC、或SPI、或UART的设备&#xff0c;主芯片是CH341A 主要说明USB转SPI的应用&#xff0c;绿色跳线帽选择IIC&SPI&#xff0c;用到CS0、SCK、MOSI、MISO这4个引脚 2、软件 2.1、下载CH341A的驱动 点CH341A官网https://www.wch.cn/downloads/CH34…

人工智能工具的强大之处:我用过的最好用的AI工具

人工智能工具的强大之处&#xff1a;我用过的最好用的AI工具 在当今科技迅速发展的时代&#xff0c;人工智能(AI)工具已经成为我们日常生活和工作中不可或缺的一部分。从语音助手到自动化内容创建工具&#xff0c;再到数据分析软件&#xff0c;AI的应用领域广泛且深远。本篇博…

【antd + vue】InputNumber 数字输入框 输入限制

一、需求说明 只能输入数字和小数点&#xff0c;保留小数点后两位&#xff1b;最多输入6位&#xff1b;删除所有内容时&#xff0c;默认为0&#xff1b; 二、问题说明 问题1&#xff1a;使用 precision 数值精度 时&#xff0c;超出规定小数位数时会自动四舍五入&#xff1b;…