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

news2024/11/20 8:38:32

写在前面:本文用于快速学会简易的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>

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

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

相关文章

开源、轻量、易用的服务器实时监控工具:哪吒探针

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 哪吒探针是一个开源、轻量、易用的服务器监控、运维工具&#xff0c;它有以下几个特点&#xff1a; 一键安装&#xff1a;可以一键安装面板与 Agent&#xff0c;并且支持 Linux、Windows、MacOS、OpenWRT…

【HMGD】使用CubeMx配置GD32F303系列单片机进行DMA ADC

原理图查看 查原理图可以看到GD32F103C8T6的官方开发板GD32303C-START-V1.0的PA1没有接任何东西 使用PA1作为ADC端口 CubeMX配置ADC和时钟 配置ADC通道 启用循环模式 配置此通道ADC分频 配置ADC DMA为循环模式 配置时钟 可根据手册配置最大HZ GD32F303最高频率设定 生成…

使用SDRPI运行openwifi和设置网口

目录 一 制作启动盘 二 使用串口的方式启动openwifi 三 无线连接 四 网口设置&#xff0c;有线连接 五 使用SSH登录 一 制作启动盘 在github上下载img文件&#xff0c;由于github上下载速度比较慢&#xff0c;我会上传网盘链接 githun下载img文件地址: https://git…

【Schrödinger薛定谔软件使用实战】- 4lyw蛋白实战

文章目录 软件选择1 pretein preparation1.1 import and process注意1.1.1 preprocess可能遇到的问题 1.2 review and modify1.3 refine1.3.1 optimize优化氢键网络1.3.2 minimize 氢原子会进行能量最小化 2 ligand prepare3 生成对接盒子-receptor grid generation3.1 recepto…

假设检验随想

⭐️ 前言 你会吵架吗&#xff1f;你会用数学吵架吗&#xff0c;不会的话就过来看看吧&#xff0c;哈哈 西方人发明了现代意义上的概率论&#xff0c;于是就想把它推广到生产和生活中。借助一大堆的概率论中的概念&#xff0c;他们发明了假设检验&#xff0c;想利用有限的数据…

Unity 实现新手引导遮罩

Unity 复写OnPopulateMesh 实现新手引导遮罩、包含点击事件触发区域判断 https://download.csdn.net/download/shenliang34/89247117

在线听歌播放器 梨花带雨网页音乐播放器 网页音乐在线听 源码

最新梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码下载 下 载 地 址 &#xff1a; runruncode.com/php/19749.html 梨花带雨播放器基于thinkphp6开发的XPlayerHTML5网页播放器前台控制面板,支持多音乐平台音乐解析。二开内容&#xff1a;修复播放器接口问题&am…

开启HIVE JDBC连接

开启HIVE JDBC连接 没有人能替你承受痛苦 也没有人能抢走你的坚强 目录 开启HIVE JDBC连接 1.开启命令 2.连接命令 3.hive连接jdbc报错 4.查看服务是否启动 》》》》》》开启HIVE JDBC连接《《《《《《 1.开启命令 hive --service hiveserver2 2.连接命令 beeline -u j…

动静态库(完结版)

文章目录 接上篇完成blog第三方库安装演示动态库加载原理一二三四 接上篇完成blog 上篇链接 第三方库安装演示 sudo yum install -y ncurses-devel下载完成之后 在系统目录下面一定能找到对应的头文件和库文件 此时使用第三方库: 编译之后按错误提示是对应的函数找不到,所以链…

Gitlab安装部署

Gitlab安装部署 一、下载对应的安装包 查看Linux系统的版本信息 cat /proc/version查看Linux系统发行版信息 cat /etc/redhat-release然后下载匹配版本的 gitlab&#xff0c;因为 gitlab 官网下载比较缓慢&#xff0c;所以这里附带了清华的镜像 Index of /gitlab-ce/yum/e…

Django后台项目开发实战一

开发环境使用 Anaconda, IDE 使用 pycharm 第一阶段 创建 Django 项目 在 Anaconda Prompt 中逐步输入下面的命令&#xff08;之后的所有命令都在这个&#xff09; 首先创建一个虚拟环境&#xff0c;名称自拟&#xff0c;python 版本我这里使用 3.9.18 关于 python 版本和…

【补充】图神经网络前传——图论

本文作为对图神经网络的补充。主要内容是看书。 仅包含Introduction to Graph Theory前五章以及其他相关书籍的相关内容&#xff08;如果后续在实践中发现前五章不够&#xff0c;会补上剩余内容&#xff09; 引入 什么是图&#xff1f; 如上图所示的路线图和电路图都可以使用…

Spring Security介绍(二) 主要组件(1) SecurityConfigurer

一、介绍 1、介绍 SecurityConfigurer 在 Spring Security 中是一个非常重要的角色。在前面的内容中曾经多次提到过&#xff0c;Spring Security 过滤器链中的每一个过滤器&#xff0c;都是通过 xxxConfigurer 来进行配置的&#xff0c;而这些 xxxConfigurer 实际上都是 Secu…

TCP通信 ,客户端服务端流程

TCP通信 TCP&#xff1a;传输层协议 特点&#xff1a;面向连接的安全的流式传输协议 面向链接 &#xff1a; 连接&#xff1a;三次握手&#xff0c;建立双向链接 断开&#xff1a;四次挥手&#xff0c;双向断开 安全的&#xff1a;通信过程会对通信进行校验&#xff0c;判…

Linux详解:进程创建

文章目录 进程创建fork函数写时拷贝页表fork常规用法fork调用失败的原因 进程创建 fork函数 在linux 中fork函数&#xff0c;它从已经存在的进程中创建一个新的进程&#xff0c;新进程为子进程&#xff0c;而原进程为父进程。 #include<unistd.h> pid_t fork(void);返…

『FPGA通信接口』DDR(3)DDR3颗粒读写测试

文章目录 前言1.配套工程简介2.测试内容与策略3. 测试程序分析4.程序结果分析5.一个IP控制两颗DDR36.传送门 前言 以四颗MT41K512M16HA-125AIT颗粒为例&#xff0c;介绍如何在一块新制板卡上做关于DDR3的器件测试。前面两篇介绍了什么是DDR&#xff0c;并介绍了xilinx给出的FPG…

[Java、Android面试]_24_Compose为什么绘制要比XML快?(高频问答)

欢迎查看合集&#xff1a; Java、Android面试高频系列文章合集 本人今年参加了很多面试&#xff0c;也有幸拿到了一些大厂的offer&#xff0c;整理了众多面试资料&#xff0c;后续还会分享众多面试资料。 整理成了面试系列&#xff0c;由于时间有限&#xff0c;每天整理一点&am…

神经网络反向传播算法

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

一键PDF水印添加工具

一键PDF水印添加工具 引言优点1. 精准定位与灵活布局2. 自由旋转与透明度调控3. 精细化页码选择4. 全方位自定义水印内容5. 无缝整合工作流程 功能详解结语工具示意图【工具链接】 引言 PDF作为最常用的文档格式之一&#xff0c;其安全性和版权保护显得尤为重要。今天&#xff…

qcheckbox互斥 也就是单选 纯代码实现 没有ui界面转到槽

1.init&#xff08;&#xff09;函数把所有的qcheckbox找到&#xff0c;然后通过信号与槽&#xff0c;做到点击哪个qcheckbox&#xff0c;哪个qcheckbox就发出信号 2.checkchange&#xff08;&#xff09;槽函数&#xff0c;通过42行拿到是哪个qcheckbox发出的信号&#xff0c…