JavaEE day7 初识JavaScript2

news2024/11/14 14:16:24

函数小结

1.可以赋值给变量(其实就是被变量所指向)

2.装入容器中作为元素存在

3.在函数调用的过程中,函数类型作为实参

4.函数作为另一个函数的返回值 可以直接return一个函数

5.和java不同,JS中允许在一个函数中定义另一个函数,也就是嵌套函数

嵌套函数的变量作用域:每层函数的变量只作用于自己和所有的下一层函数。

例如

按照每层函数的变量只作用于自己和所有的下一层函数,f1的变量为xyab,f2为xyabopqhi,f3为xyabopqhitmn。


对象/关联数组

java对象与map映射的相似和区别:一个class类与一个Map<string,....>映射

相似:表示结构都是典型的key-value结构,一个key对应一个value

区别:

1.java中对象能有哪些key是由class约束固定的,但是Map中的key是任意的

2.class中的value类型是有约束的:name约束为string类型,age约束为int类型

map中的value则是在map定义时决定。

3.class中可以存储一些特殊的value比如打印方法,不是一个字符串/数字,但是map中的value无法做到。

我们发现对象和映射的区别还是有的,但是在JS中,key-value结构统一了,不再有对象和映射之分,是同一个东西,还记得JS中所有的赋值其实都是一个指向吧。

所以:例子:

用类似对象表示来取值:s.name     用类似map来取值:s["name"]

 JS中没有类,但是有构造方法,复用了function。(最新标准有类的概念了)

此处只有构造方法,没有类,没有返回值

 

 此处并非函数调用,而是new关键字进行对象实例化。

倘若我们不new直接写Student(”xxxx“,36)会出现什么?

会出现undefined,因为把他当成一般函数了,它没有返回值所以默认返回undefined。


使用JS操作DOM树

 DOM树:由HTML标签构造的一棵树

修改DOM树结构来影响用户在浏览器上看到的最终效果

具体流程为:html的内容传到浏览器,浏览器根据html内容构造原始的DOM树,而JS的操作就是针对这个DOM的操作,操作后展现出最终的DOM树结构,浏览器根据最终的DOM树结构配合CSS进行最终效果渲染,展现给用户。

操作:

1.如何在JS中得到这个DOM树对象:通过文档对象   window.document对象,表现为文档,但是我们可以通过文档去操作树

2.如何定位出一个/一批节点对象:结合CSS选择器语法

document.querySelector(#‘hello’)

找到DOM树中id为hello的结点对象,(不存在得到undefined/null)

document.querySelector(‘.hello’)类选择

document.querySelector(‘p’)元素选择

querySelector(...)符合条件的结点对象可能很多,,但是只返回满足条件的第一个,文档按从上到下的顺序,树按照深度优先遍历的顺序

querySelectorAll(....)找到符合条件的所有对象

3.通过querySelector(...)得到的是HTML元素对象,对其属性进行修改变化

querySelector(”img“) 得到HTMLImageElement对象也就是    <img src = ".....">

也就是说,html中的标签表现为一个HTMLElement对象,标签中的属性就是对象中的属性。

<img src = ".....">     img.src  img对象的src属性

而用户输入的内容,用value属性来体现

假设现在有一个输入标签<input type="text"name="....">

我们使用 querySelector来得到输入内容

input =document.querySelector(‘input‘);

两种方式:

        1.input.value = ’....‘ 

        2.var s  = input.value

凡是html标签的属性,都可以这么处理,例如 h1标签中的textContent属性:直接可以使用h1.textContent来得到或修改指向。

且由于JS中对key没有约束,因此写错单词也不会报错,只是修改会未生效。

4.修改树的结构

我们创建一个标签:

 id为d1的标签的innerHTML属性有三条:

 我们直接让其指向百度网址:

其内容就修改为:

此时id为d1的所有内容全部被修改

 

 由此我们知道了d1.innerHTML是什么 是id为d1内的所有内容

那么d1.outerHTML是什么?outerHTML则是包含了d1本身加其所有内容

通过结点的方式修改树结构

1.如何创建结点对象

document.createElement(’img‘)  创建img元素

document.createElement(div‘)创建div元素

这个元素目前不在DOM树中

2.将某个结点插入到树中

        1.先找到某个结点p

        2.创建结点e

        3.把e作为p的孩子插入

p.appendChild(e)为p元素追加一个孩子e元素

小结:


事件驱动 

事件源——事件——后续行为

某东西发生了某某事,去进行某某行为

例如用户点击了(事件)百度一下按钮(事件源),进行搜索操作(后续行为)。

事件源体现为某个元素,事件表示针对该元素的操作,后续行为表示一组刚刚那个操作结束后表现的后续行为,即一组要被执行的代码,表现为一个函数。

换句话说,当某个元素发生了规定的事件后,去执行/调用某函数,没有发生规定事件则不调用该函数。

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

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

相关文章

介绍一个令强迫症讨厌的小红点组件

前言 在 App 的运营中,活跃度是一个重要的指标,日活/月活……为了提高活跃度,就发明了小红点,然后让强迫症用户“没法活”。 小红点虽然很讨厌,但是为了 KPI,程序员也不得不屈从运营同学的逼迫(讨好),得想办法实现。这一篇,来介绍一个徽标(Badge)组件,能够快速搞…

解决OpenEuler系统 Minimal BASH-like line editing is supported

2023年开工解决的第一个问题~呃&#xff0c;起因是这样的&#xff0c;由于业务需要&#xff0c;修改内核参数后重新打包内核&#xff0c;然后安装内核rpm包后&#xff0c;强制关机&#xff0c;结果就出现如上界面。网上搜索后绝大部分是因为安装了双系统后找不到grub系统引导文…

ELK_Elasticsearch基础介绍

目录 一、搜索是什么&#xff1f; 二、数据库做搜索的弊端 三、全文检索、倒排索引和Lucene 四、什么是Elasticsearch 1、Elasticsearch的功能 2、Elasticsearch的使用场景 3、Elasticsearch的特点 五、elasticsearch核心概念 一、搜索是什么&#xff1f; 概念&#x…

vue2与vue3面试题之区别

目录vue2与vue3面试题之区别01&#xff1a;数据双向绑定&#xff08; proxy 替代 defineProperty&#xff09;02&#xff1a;生命周期函数的更换03&#xff1a;vue3的新特性04&#xff1a;缓存组件与更新组件05&#xff1a;ref和reactive的区别06&#xff1a;watch和watchEffec…

测试篇(五):什么是自动化测试、自动化测试分类、selenium工具、第一个自动化测试程序

目录一、什么是自动化测试二、自动化测试分类2.1 单元测试2.2 UI自动化测试三、selenium工具3.1 selenium的介绍3.2 环境部署3.3 selenium的常用方法四、第一个自动化测试用例一、什么是自动化测试 在日常生活中我们会见到&#xff0c;自动化的水龙头、无人驾驶汽车、自动化的…

Mysql,使用FIND_IN_SET()函数处理多表关联问题.

这里有 user表、teacher表&#xff0c;其中 teacher.user_ids 字段中的值是 user.id 值以英文半角逗号拼接而来。现在&#xff0c; 我们需要在查询 teacher 表数据时&#xff0c;将 user.name 的值也查询出来。使用以下的SQL语句&#xff0c;即可实现需求。SELECTGROUP_CONCAT(…

系统编程中的进程的概念No.1

引言&#xff1a; 北京时间2023/1/28&#xff0c;本小编04年1月9日出生&#xff0c;今天第一次理解到进程的概念&#xff0c;所以我们接下来就学习一下什么是进程以及和进程相关的一些知识。首先我们想要了解进程以及其相关的知识&#xff0c;我们要先理解一下其它方面的知识&…

【2】Linux基础命令

学习笔记目录 初识Linux--入门Linux基础命令--会用Linux权限管控--懂权限Linux实用操作--熟练实战软件部署--深入掌握脚本&自动化--用的更强项目实战--学到经验云平台技术--紧跟潮流 Linux的目录结构 Linux的目录结构是一个树形结构&#xff0c;没有盘符这个概念&#x…

常用算法分类

按照使用场景分类排序算法&#xff0c;如冒泡排序&#xff0c;快速排序等&#xff0c;用于将一组数据按照特定规则排序。搜索算法&#xff0c;如二分查找算法&#xff0c;深度优先搜索算法等&#xff0c;用于在一组数据中查找特定元素。图论算法&#xff0c;如最短路径算法&…

Claude的2022年终总结——关于2022和Claude的四个问题

文章目录前言1. 我算是合格的开发者了吗2. 我算是正式的游戏人了吗3. 我算是成熟的社会人了吗4. 我算是什么样的写作者呢最后前言 2022年的这个时候&#xff0c;我也是在准备着年终总结&#xff0c;只不过应公司要求&#xff0c;准备述职晋升&#xff0c;是抱着升职加薪&#…

行为型模式 - 命令模式Command

模式的定义与特点 命令模式&#xff08;Command Pattern&#xff09;&#xff0c;是将一个请求封装成一个对象&#xff0c;从而使您可以用不同的请求对客户进行参数化。命令模式是把发出命令的责任和执行命令的责任分割开&#xff0c;委派给不同的对象。命令模式允许请求的一方…

设计一个消息队列的思考点

导图所以主要考虑的点是&#xff1a;P1.1. MQ 要有基础的消息管理能力&#xff08;CRUD&#xff09;P1.2. MQ 要有产消日志P2. MQ将消息存储成功才能响应成功P3.1 MQ将消息存储 分片存储P3.2 扩容的实现思路(如何在扩容的时候更方便高效)P4.1 数据要有副本&#xff08;分片副本…

【27】C语言 | 指针进阶

目录 一、指针概念 二、字符指针 三、指针数组 四、数组指针 五、数组参数、指针参数 六、函数指针 七、函数指针数组 八、回调函数 一、指针概念 1.指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识一块内存空间。2.指针的大小是固定的4/8个字节(32位平…

Java ccflow 代码

草稿规则目录概述需求&#xff1a;设计思路实现思路分析1.URL管理参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a better result,wait for change,challenge Survive. happ…

盖子的c++小课堂——第十四讲:指针

前言 作者&#xff1a;大家好鸭&#xff0c;想必大家看到标题都有感到有一丝奇怪吧&#xff0c;其实&#xff0c;今天主要讲一些运算符 粉丝&#xff1a;啊……嗯嗯嗯 作者&#xff1a;那开始吧~~ 内存地址运算符& 粉丝&#xff1a;讲这个干嘛&#xff0c;我都会了~~ …

Jmeter场景组合测试——多个线程组的设计方案

我们绝大多数同学在使用jmeter进行性能测试时都会在一个线程组中完成测试工作&#xff0c;今天我来重点讲解一下jmeter多个线程组在测试中的应用&#xff0c;这也是关于jmeter性能测试面试过程中的进阶问题&#xff0c;希望能够帮到大家来解决工作中不同的测试需求。线程组中的…

Rust个人学习之有意思的所有权

在Rust中是没有内存垃圾回收机制(GC)的&#xff0c;那Rust是如何保障内存安全的呢&#xff1f;这就引出了“所有权”这个概念。 我们看下下面这段伪代码 let s "helloString"; t s; print(s); 在之前我们学习的语言中&#xff0c;比如C语言&#xff0c;对于上述伪…

人工智能原理复习 | 产生式系统

文章目录 一、概述二、八数码问题三、特殊的产生式系统四、一些补充CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 通过学习人工智能原理课程了解基本的人工智能问题的求解方法和原理。 一、概述 产生式系统(Production System):是构造知识型系统和建立认知模型时常用的知…

用canvas绘制微信小程序海报页面并保存相册-适用微信原生

微信小程序绘制海报并保存相册 tip&#xff1a;代码中使用的是uni的api 如果使用原生微信小程序开发&#xff0c;可以把uni更换成wx使用 文章目录微信小程序绘制海报并保存相册前言一、分析需求二、准备数据三、编码开始html部分解析&#xff1a;js部分1、准备好数据后开始绘制…

王道操作系统笔记(三)———— 处理机调度

文章目录一、调度的概念1.1 调度的基本概念1.2 调度的层次1.3 补充&#xff1a;七状态模型二、调度的时机、切换与过程2.1 进程调度的时机2.2 狭义进程调度、进程切换、广义进程调度2.3 进程切换的过程2.4 补充&#xff1a;闲逛进程三、进程的调度方式四、调度算法的评价指标五…