【JavaEE初阶】前端第四节.JavaScript入门学习笔记

这篇具有很好参考价值的文章主要介绍了【JavaEE初阶】前端第四节.JavaScript入门学习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者简介:大家好,我是未央;

博客首页:未央.303

系列专栏:Java测试开发

每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!

前言

一、前置知识 

1、JS 和 HTML 和 CSS 之间的关系

1.2 JS 的书写形式

1.2.1 内嵌式

1.2.2 行内式 

1.2.3 外部式

1.2.4 扩展

1.2.5 js的输入输出

二、JS的基础语法

2.1 数据类型

2.2 运算符

2.3 数组

2.3.1 创建数组

2.3.2 打印数组

2.3.3 JS数组中的一些操作

 2.4 函数

2.4.1 函数的简单使用

 2.4.2 函数表达式

2.4.3 作用域

 2.5 JS对象

2.5 JS对象

总结

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


前言

今天我们将进入到JS的学习,它和前面学到的HTML和css都属于前端常用的代码;只是他们所用的场景和作用各不相同;


一、前置知识 

1、JS 和 HTML 和 CSS 之间的关系

图示说明:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

  • HTML: 网页的结构(骨)
  • CSS: 网页的表现(皮)
  • JavaScript: 网页的行为(魂)

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

HTML写出来的代码,就相当于是页面的框架,相当于是“骨”
CSS 就是在 HTML 的基础上,进行装饰,相当于套了一层“皮”,使其页面变得好看。
但是 此时的页面,仍是一个静态的!
当我们加入了JS之后,我们就相当于给网页赋予了灵魂。
所谓的灵魂,就是指的交互性。 


其目的,就是让网页不再是一个 纯粹静态的、干巴巴的、不动的一个东西了。
而是会和程序员进行一些交互。

就是我们在页面中进行操作,页面也给予我们一定的反馈

所以,这个时候,彼此之间就会出现一个动态变换的过程;


1.2 JS 的书写形式

1.2.1 内嵌式

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
 
</head>
<body>
  <!-- // 内嵌型js,主要用于课堂代码演示, 
  js输出:alert弹出对话框(模态对话框,如果用户不点掉对话框,就无法操作页面其他内容|| -->
  <!-- console.log("") -->
  <!-- console是浏览器给JS提供的对象,就像java库提供System.out.println的打印功能 -->
   <script>
      console.log("这是一个console输出,输出在控制台,给程序员看,调试js代码的重要手段");
      alert("一个弹窗");
   </script>
 
</body>
</html>

图示展示:
【JavaEE初阶】前端第四节.JavaScript入门学习笔记


1.2.2 行内式 

把js写到HTML元素的内部:

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
 
</head>
<body>
  <!-- // onclick是点击后才会执行,用户点几次,就执行几次,
   // 行内js -->
   <div onclick="alert('点了')">点我试试</div>
   <button onclick="alert('这是你通过按钮点击的结果')">这是一个按钮</button>
 
</body>
</html>

图示展示:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


1.2.3 外部式

把js代码单独写到一个.js文件中,再通过script()标签来引入

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


1.2.4 扩展

如果script标签中,既有src属性(外部连接js),内部又有js代码(内嵌式),执行时会发生什么呢?两个js代码都会执行吗?

那么就让我们执行下面的代码:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


【JavaEE初阶】前端第四节.JavaScript入门学习笔记


1.2.5 js的输入输出

获取数组长度

通过.length来获取,这个和Java的操作基本相同,我们刚才也一直在用:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

注意:这里我们的数组长度length是可以随时更改的 


往数组中新增元素

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


删除+替换操作 

JS中删除数组中的元素,所依赖的方法,非常厉害。
该方法叫做 splice,这个方法,准确的说是针对 数组中的某个片段,进行替换。
所以,这个方法既可以用来插入元素,又可以用来删除元素:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


代码示例:

 【JavaEE初阶】前端第四节.JavaScript入门学习笔记

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

二、JS的基础语法

2.1 数据类型

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


【JavaEE初阶】前端第四节.JavaScript入门学习笔记

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


 那么接下来我们重点看,这些数据类型和java有什么不同

不同点1

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

那么这样就引入了我们动态和静态的概念 

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


不同点二

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

 通过这,就引入了强弱类型的概念 

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

 那么通过对强弱和静态动态的区分,就有这样一张图

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


 下面我们来举例说明

  • python 强类型+动态类型,不太支持隐式类型转换,但运行过程中类型可以发生改变,根据赋值的类型不同,变量就成了不同的类型。比如说,a本来是一个整数类型,但之后还可以把一个字符串赋值给a, a就变成了字符串类型
  • c是弱类型,静态类型——支持隐式类型转换,运行中类型不改变
  • java是强类型,静态类型——不支持隐式类型转换,类型不会发生改变

那么说到了强弱、静态和动态,那么到达哪种类型好呢?

  • 业内共识是强类型比较好——检查的越严格也好,避免出粗,
  • 静态类型——编译器可以做更严格的检查,代码更严谨,更容易发现问题
  • 动态类型——表达能力更强,可以快速开发,但如果代码规模大了,开发团队规模也大了,就难以维护了

不同点三

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


一点补充  

随着时间推移,关于 JS 变量的类型,出现了一个新的类型 let。
而且,现在更倾向于 使用 let 来 代替 var。
下面,我们就来看一下 let 的效果。

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

从效果上来看,var 和 let 的效果是一样的。
但是我们更倾向于使用 let ,为什么呢

这是因为 var 是 旧版本(早期的设计),有很多的地方,其实是违背直觉的!
比如,下面的这个例子 :

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

得出结论: var定义的变量,并不会收到大括号的限制。【作用域不会被限制】
我们再来看下面 let 定义的变量 的表现。

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

 var 和 let,还有很多的一些小细节。
这里就不一样列举了。
总得来 let 要比 var 更符合我们程序员的直觉;


2.2 运算符

JS运算符有很多是和java是相似,这里我们就不再一一列举,下面我们只说不同;

不同点1:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


 不同点2:

重点在于,比较 相等/不相等 的 符号。
JS中比较相等的符号,有两种:
== 和 ===
不相等的符号也有两种:
!= 和 !==

== 和 != 是一组风格、
=== 和 !== 是一组风格。


先说, == 和 != 这一组。

只是比较两个变量的值,不比较 两个变量的类型。
如果两个变量能够通过隐式类型转换,转换相同的值,
那么,此时就认为 两个变量 是相等的。


再来看,=== 和 !== 这一组。

既要比较 两个变量的值,又要比较两个变量的类型。
如果类型不相同,就直接认为两个变量不相等。
比较的过程中,就不存在隐式类型转换的说法。

举例说明:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


注意哦!这里和 java的 equals 是不一样的!
在java中,重写后的equals 是 比较值。
重写前的equals和== 是比较身份——在内存中的储存位置


而且 equals 涉及到对象的比较。
谈到对象的比较,有三个维度的比较
1、比较身份(比较地址,看是不是同一个对象)【JS中没有比较身份的函数】
2、比较值(标对对象中存储的数据是否相同)
3、比较类型(两个对象的类型是否是同一个类型) 


2.3 数组

温馨提示,JS的数组与java、c中的传统数组相比,是有很大差异的——这可能会颠覆你以往对数组的认知

2.3.1 创建数组

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

此外我们的JS数组,还可以这么写 :

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

什么类型的元素,都可以往里面放。

这是 Java 普通数组所做不到的,需要借助数据结构才能实现。
但是 一般也不是这么用,都是会指定一个类型放入数组中。


有的人可能会问:这是一个什么类型的数组?

没有什么类型,这就是一个数组。
在 JS 中,只有一种数组,就叫做数组,里面的元素可以是不同类型的!
另外,JS 中数组,是不分类型的,并且无法强制要求数组只能放入一种类型的数据。

要想数组里存入的都是同一种类型的数据,就只能通过“人为”的方式去完成。
就是 你给这个数组的元素都是 同一种类型的。


而且,还没完!
JS 中数组的元素,还可以是数组类型的元素;


2.3.2 打印数组

这个没什么好说的,通过console.log来打印:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

这是不是就已经很离谱了,但下面还要更离谱的 

离谱+1

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


  离谱+2

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

 相信大家也能猜到,这样写其实是有一定的风险的 :
【JavaEE初阶】前端第四节.JavaScript入门学习笔记


2.3.3 JS数组中的一些操作

获取数组长度

通过.length来获取,这个和Java的操作基本相同,我们刚才也一直在用;

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

 注意:这里我们的数组长度length是可以随时更改的 ;


往数组中新增元素

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


删除+替换操作 

JS中删除数组中的元素,所依赖的方法,非常厉害。
该方法叫做 splice,这个方法,准确的说是针对 数组中的某个片段,进行替换。
所以,这个方法既可以用来插入元素,又可以用来删除元素


【JavaEE初阶】前端第四节.JavaScript入门学习笔记


【JavaEE初阶】前端第四节.JavaScript入门学习笔记

 2.4 函数

2.4.1 函数的简单使用

首先,大家要明白,JS中的函数(function),在 Java中 叫做 方法(Method)。
注意!函数就是方法,方法就是函数,两者就是同一个东西,只是叫法不同而已

通常情况下,我们不需要考虑这两个概念的具体区别;

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


 2.4.2 函数表达式

在 JS中,函数是 “一等公民”。
一等公民:一个“一等公民”的函数,函数可以像一个普通的变量一样,赋值给 其他的变量。同时,可以作为另一个函数的参数,还可以作为另一个函数的返回值。
简单来说:函数和普通的变量,并没有本质区别。
只不过函数这个变量,相对于普通变量来说,多了一个功能(可调用)。
————————————————

所谓的函数表达式,其实就是把一个函数赋值给一个变量了


【JavaEE初阶】前端第四节.JavaScript入门学习笔记


2.4.3 作用域

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

 2.5 JS对象

基本概念
对象,就是一些属性 和 方法的集合。

这个概念,与传统意义上的Java对象的概念是类似的。


但是有一个比较大的区别。
在 Java中,我们的对象是需要先有类,然后针对类进行实例化才能产生对象。
等于就是说,类就是一个模具,可以批量生产相同规格的产物。


而在 JS 中,对象 是不依托于 类的。
就是说:在 JS 中,无需借助类,就能创建一个对象。
另外,Java 中的类,可以视为是一种 自定义类型的类。
例如: Cat 类 和 Dog 类,是两个不同类型。
但是在 JS 中,所有的对象,都是一个类型【object类型】。

JS 中的对象 要比 Java 中的对象 要简单一些,不过 需要注意的是,JS 中的所有的对象 都是 object类型,无论对象叫什么名字,有什么属性,都是相同的类型(这是站在传统的 JS 语法角度看待的)


JS 里面创建一个对象,不需要依赖于 "类"(不像 Java 里面,需要类,然后使用 new 关键字啥的来创建对象)

在 JS 中直接使用 { } 就可以来表示对象 

对象里面的数据,非常类似于 "键值对" 结构:每个键值对,都是使用 , 来进行分割,键和值使用 : 来分割,值也可以是函数 

定义对象:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

当然,定义对象的写法不止这一种,这里就不必要过多介绍,知道这一种方式就已经可以了 


调用对象的属性和方法:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


在 Java 中要求,一个类的对象 里面包含的属性和方法,写好了就是固定不变的;但是,在 JS 中,一个对象的属性和方法,写好了却是可以动态改变的(这就牵扯到了动态类型)

如,在上面的代码中,已经写好了 student对象的属性和方法,没有 id属性、playBasketBall方法,那么我们就可以加上这个:
 


【JavaEE初阶】前端第四节.JavaScript入门学习笔记

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


类似于上面所介绍的,数组的新增元素,如果对应下标不存在,那么就会直接创建出来 

同理,这个在运行时 也会把属性和方法创建出来 

2.5 JS对象

JS 中的对象 要比 Java 中的对象 要简单一些,不过 需要注意的是,JS 中的所有的对象 都是 object类型,无论对象叫什么名字,有什么属性,都是相同的类型(这是站在传统的 JS 语法角度看待的)


JS 里面创建一个对象,不需要依赖于 "类"(不像 Java 里面,需要类,然后使用 new 关键字啥的来创建对象)

在 JS 中直接使用 { } 就可以来表示对象 

对象里面的数据,非常类似于 "键值对" 结构:每个键值对,都是使用 , 来进行分割,键和值使用 : 来分割,值也可以是函数 

定义对象:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记

当然,定义对象的写法不止这一种,这里就不必要过多介绍,知道这一种方式就已经可以了 


调用对象的属性和方法:

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


在 Java 中要求,一个类的对象 里面包含的属性和方法,写好了就是固定不变的;但是,在 JS 中,一个对象的属性和方法,写好了却是可以动态改变的(这就牵扯到了动态类型)

如,在上面的代码中,已经写好了 student对象的属性和方法,没有 id属性、playBasketBall方法,那么我们就可以加上这个:
 


【JavaEE初阶】前端第四节.JavaScript入门学习笔记

【JavaEE初阶】前端第四节.JavaScript入门学习笔记


类似于上面所介绍的,数组的新增元素,如果对应下标不存在,那么就会直接创建出来 

同理,这个在运行时 也会把属性和方法创建出来 

总结

【JavaEE初阶】前端第四节.JavaScript入门学习笔记文章来源地址https://www.toymoban.com/news/detail-472733.html

到了这里,关于【JavaEE初阶】前端第四节.JavaScript入门学习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【机器学习】第四节:监督学习算法对比评估

      作者 🕵️‍♂️:让机器理解语言か 专栏 🎇:机器学习sklearn 描述 🎨:本专栏主要分享博主学习机器学习的笔记和一些心得体会。 寄语 💓:🐾没有白走的路,每一步都算数!🐾          监督学习(英语:Supervised learning)是机器学习中最为常见、应用最为广泛的

    2024年02月02日
    浏览(36)
  • 【JavaEE初阶】JavaScript基础语法

    摄影分享: JavaScript (简称 JS) 是世界上最流行的编程语言之一 JS最初只是为了进行前端页面开发.后来JS也被赋予了更多的功能.比如可以用来开发桌面程序,手机APP,服务器端的程序… 是一个脚本语言, 通过解释器运行 JS是一种动态类型, 弱类型的脚本语言, 通过解释器运行, 主要在

    2024年02月13日
    浏览(27)
  • 【Git 入门教程】第四节、Git冲突:如何解决版本控制的矛盾

    Git是目前最流行的版本控制系统之一,它为团队协作开发提供了方便和高效的方式。然而,在多人同时修改同一个文件时,可能会出现代码 冲突(conflict) ,导致代码无法正确合并。那么,如何解决Git冲突呢? 在多分支并行处理时,每一个分支可能是基于不同版本的主干分

    2024年02月05日
    浏览(47)
  • JavaScript(JavaEE初阶系列13)

    目录 前言: 1.初识JavaScript 2.JavaScript的书写形式 2.1行内式 2.2内嵌式 2.3外部式 2.4注释 2.5输入输出 3.语法 3.1变量的使用 3.2基本数据类型 3.3运算符 3.4条件语句 3.5循环语句 3.6数组 3.7函数 3.8对象 3.8.1 对象的创建 4.案例演示 4.1猜数字游戏 4.2聚合搜索 4.3表白墙 结束语: 在上节

    2024年02月12日
    浏览(22)
  • 【JavaEE初阶】 JavaScript基础语法——贰

    该处的语法规则与Java语法相同,只是简单提一下 基本语法格式 条件表达式为 true, 则执行 if 的 { } 中的代码 是 if else 的简化写法. 条件为真, 返回表达式1 的值. 条件为假, 返回表达式2 的值 这里需要注意的是: 三元表达式的优先级是比较低的 更适合多分支的场景. 语法规则如

    2024年02月05日
    浏览(28)
  • 学习笔记|大模型优质Prompt开发与应用课(二)|第四节:大模型帮你写代码,小白也能做程序

    GT│飞桨开发者技术专家 研发资源持续投入是企业为了获取核心技术.提升竞争力而进行的必要投资,同时也是企业实现长期发展、保持核心竞争力的关键因素。 在大型企业当中,人力成本占研发投入通常超50%,互联网头部企业研发薪资通常在20k以上,可以看到技术性人才非

    2024年02月15日
    浏览(36)
  • 第四节 LVGL部件使用

    LVGL采用的是面向对象的编程思想,以抽象的类来实例化不同的对象(部件)。 C语言中没有“类”的概念,LVGL以结构体的形式来实现“类”的思维。 基础对象(lv_obj)可以作为父对象,来创建其他对象,同时它也可作为部件使用。 大小(size) 位置(position) 对齐(alignme

    2024年02月06日
    浏览(27)
  • 【测试开发】第四节.测试开发(测试分类)

    作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:Java测试开发 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录 前言 一、 有关测试用例的回顾 二、 测试用例的划分  2.1 按照测试对象来划分 2.1.1 可靠性测试 2.1.2 容错性测试

    2024年02月07日
    浏览(36)
  • javaEE -14(10000字 JavaScript入门 - 1)

    JavaScript (简称 JS)是世界上最流行的编程语言之一,它是一个脚本语言, 通过解释器运,主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行. JavaScript 和 HTML 和 CSS 之间的关系: HTML: 网页的结构(骨) CSS: 网页的表现(皮) JavaScript: 网页的行为(魂) 编写的代码是保存

    2024年02月05日
    浏览(31)
  • javaEE -15( 13000字 JavaScript入门 - 2)

    JS 分成三个大的部分 ECMAScript: 基础语法部分 DOM API: 操作页面结构 BOM API: 操作浏览器 WebAPI 就包含了 DOM + BOM,这个是 W3C 组织规定的. (和制定 ECMAScript 标准的大佬们不是一伙人). 前面学的 JS 基础语法主要学的是 ECMAScript, 这让我们建立基本的编程思维. 相当于练武需要先扎马步

    2024年02月06日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包