java 80_【JavaWeb】80:js基础详解

今天是刘小爱自学Java的第80天。

感谢你的观看,谢谢你。

话不多说,开始今天的学习:

b258570ab4f6b72f1eae79228b8f6f2a.png

JavaScript是一门编程语言,但凡是编程语言,其在基本语法上都是大同小异的。

我们学了Java,那么再学习其它语言时,学它不同于Java的地方即可,这样也能更好地记忆。

一、js中的运算符

1算术运算符

无外乎就是加减乘除,取模,自增自减这些,用法和Java中都是一样的。

但js中的运算也有和Java的不同之处;

1794562db6754c33a6aa851dd562b763.png

①变量之间的运算

在js中,不同数据类型之间的变量也能运算。

100和true相加结果竟然是101,这在Java中会直接报错,因为不确定结果是什么数据类型。

所以在js中,true参与运算时就相当于数字1,同理false就相当于数字0,null也是相当于数字0

②undefined类型参与运算

变量c没有定义,所以是未定义类型,当其参与运算时得到的结果为NaN。

未定义类型和非字符串任意类型运算时,得到的结果都是NaN。

NaN,全称not a number,不是一个数字。

③string类型参与运算

这个和Java中倒是一样,任意类型和string类型相加时,结果都是拼接。

但是String在Java里面是引用数据类型,而在js里面是基本(原始)数据类型。

2逻辑运算

关于逻辑运算符:与(&&)、或(||)、非(!)和Java中是一样的。

但在js中的逻辑判断与Java有些不同:

48b48b66f87bf6cc13c93bfd2ef05c43.png

①布尔表达式

这个也就和Java中一样,逻辑判断为true时结果为真,逻辑判断为false时结果为假。

②数字作为布尔表达式

在js里面,数字也有自己的逻辑判断:

当数字不为0时,逻辑判断为true;

当数字为0时,逻辑判断为false。

③字符串作为布尔表达式

当字符串不为空时,逻辑判断为true;

当字符串为空时,逻辑判断为false。

此外,未定义数据类型逻辑判断也为false,在算术运算中的NaN作为逻辑判断时也为false。

我就不一一演示了。

3比较运算符

其中js中的赋值运算符(=、+=、-=、*=、/=、%=)和Java中一样。

比较运算符(==、!=、、>=)也和Java中一样,但js有两个个特殊的比较运算符:

b2fb6cc755c384b30789f2385e063a1a.png

①字符串与数字比较

在js中,字符串也能参与比较,会先将其转换成数字再进行比较。

==,等于,比较的是值是否相等。

===,恒等于,比较的是值和类型均相等。

②null与未定义比较

同样的道理,它们的值相等,都为null,但是类型不一样,所以不恒等于。

4三目运算符

也就是Java中的三元运算符。

二、js中的函数

1函数定义

js中的函数其实也就是Java中的方法。

64776c1ac6a3c9706793b3ca0350b1c0.png

①Java中的方法

做一个回顾,Java方法格式:修饰符+返回值+方法名+(参数列表)+{方法体};

其中参数列表中要明确数据类型。

②js中的函数

js函数格式:fuction+方法名(参数列表){};

js中不仅没有修饰符,连返回值都没有,并且参数列表的数据类型不用明确。

由此可以看出:js的语法相对于Java而言较为随意,不像Java那么严谨,但确实简便了很多。

2实参和形参

实参:调用函数时的参数(传入的具体数值)。

形参:定义函数时的参数(自定义的变量)。

Java中形参与实参要明确保证一致(数量、数据类型都要保证一致)

但是js中可以不一致,我们逐一分析:

3b54174f5ca2fc07fdd2add750c66634.png

①实参与形参数量不一致

实参与形参的关系相当于将实参的值赋给形参。

当实参比形参要少时:a=1;b=2,但是c未定义。

在js中任何数据与未定义的变量相加都是NaN。

当实参和形参一样或者多时,结果没有影响,多的实参不参与运算即可。

②形参和方法体中的变量不一致

如果方法体中的变量要少,有几个就用几个。

如果方法体中的变量要多,多了一个形参中没有的变量d,则无法运行。

这个Java中倒是有一定的相似之处。

3参数arguments

事实上在js中有一个专门的数组arguments,用来接收调用时的实际参数:

e63241a7910e28212bcd794d168e3f46.png

js中的数组是可变的,所以可以使用这种方式来接受,当然也可以使用for循环来处理。

不过要注意的是,js中可没有增强for循环。

老实说,对于arguments这个概念,其实也就相当于是实际参数,知道在js中有它的存在即可。

我个人对于实参和形参的理解,就是将实参赋值给形参再参与运算,这样方便记忆也好理解。

4返回值和方法重载

d35c070432f7b00d2bb5d55d4f6dc62d.png

①返回值

js在定义函数时是不用说明返回值的,如果有返回值,直接return即可。

②方法(函数)重载

在Java中是有方法重载(同名不同参)

但是在js中是没有方法重载的。

这也好理解,在Java中参数类型不同,个数不同即代表不同的参数。

但是在js中参数类型都没有明确定义,所以也没法区分参数不同,并且实参个数与形参个数没有关系。

其中,js代码是从上到下执行的,同名函数,后面的函数会覆盖前面的函数。

5局部变量和全局变量

c0166cfba819331e8adbdcc1cb478287.png

①函数内测试局部变量

函数内部,局部变量和全局变量都可以访问。

②函数外测试全局变量

在函数外部,局部变量是不能被访问的,但是全局变量可以访问。

③另一个script标签

和函数外部一样的道理,通过②③我们可以得出结论:变量c是一个全局变量。

事实上,当局部变量省略了var的时候,会变成全局变量。

为什么会这样?画图分析:

382a82a75d14c971b1127a5854665421.png

也就是说实际上变量c省略了var,就相当于默认在外部定义了var c,再在函数内赋值。

当然其前提是该变量没有在函数内被定义,如果变量c在函数内定义过了,那它就是个局部变量。

④测试思考

我发现明明a,c都是全局变量,a,c中间加了一个b后,c就不能打印了。

也就是说外部是没法引用局部变量的,会报错。

但是js中报错了照样能运行,只是当前标签内后面的代码就不执行了。

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。

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

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

相关文章

【渝粤题库】陕西师范大学200101 西方文学 作业(高起专)

《西方文学》作业 一.填空题 1.古希腊悲剧之父是 ,他的代表作品是 。 2.法国人文主义文学最杰出的代表作家是 ,他的代表作品是 。 3.法国批判现实主义文学的奠基人是 ,他的代表作品是 。 4.易卜生的四大社会问题剧是 、 、 、 。 …

半年时间能学会php吗_4个月真的能学会PHP吗

4个月真的能学会PHP吗有些一直想来源码时代学习PHP学科的学员很好奇,这么多的内容,在5个月左右就全部学完,真的可以么?这几个月以后自己还是一问三不知怎么办?今天,我们就来说说学习PHP这件事。PHP是什么,应用得怎么…

【渝粤题库】陕西师范大学200651线性代数 作业(高起专、高起本)

《线性代数》作业 一、选择题 1&#xff0e;如果D&#xff0c;则行列式的值应为&#xff1a; A&#xff0e; 6D B&#xff0e;12D C&#xff0e;24D D&#xff0e;36D 2&#xff0e;设A 为n阶方阵&#xff0c;R&#xff08;A&#xff09;r<n,那么&#xff1a; A&#xff0e;…

【渝粤题库】陕西师范大学201381 国际经济法作业

《国际经济法》作业 一、单项选择题 1&#xff0e;在下列贸易术语中&#xff0c;应当由买方办理租船订舱手续的是哪种术语&#xff1f; A&#xff0e;FOB      B&#xff0e;CFR      C&#xff0e;CIP       D&#xff0e;DDP 2&#xff0e;《联合国国际货物买…

php manager iis 8,PHPManager2下载

PHP Manager 2.x 理论支持win10,win8,win7,Windows Server2008,Windows Server2012,Windows Server2012R2,Windows Server2016,,Windows Server2019与其对应的IIS版本.--PHP Manager 2.4 for IIS10,IIS8,IIS7 下载简单但功能强大具有独特功能的工具&#xff0c;可以处理所有细节…

【渝粤题库】陕西师范大学202012 刑事诉讼法专论 作业

《刑事诉讼法专论》作业 一、单项选择题 1.在刑事诉讼中&#xff0c;法官消极中立&#xff0c;通过当事人举证、辩论发现事实真相&#xff0c;并由当事人人推动诉讼进程。这种诉讼构造属于下列哪一种类型&#xff1f;&#xff08; &#xff09; A.职权主义  B.当事人主义  …

【渝粤题库】陕西师范大学202411 管理学基础 作业 (专升本、高起本、高起专)

《管理学基础》作业 一、名词解释 管理       2. 科学管理理论    3. 定性目标      4. 管理主体经济方法     6&#xff0e;规划        7&#xff0e;行政组织理论    8&#xff0e;高层目标管理环境     10&#xff0e;人际关系学说 …

移动支付php,银联手机支付服务端PHP端代码

1 开发前准备 先和银联手机支付签约&#xff0c;他们会给你测试的证书已经手机客户端的控件2 将包里的文件(TESTMERCHANT.p12)经过openssl生成的密钥文件TESTMERCHANT.pm 默认密码是 13 PHP端程序下订单程序/** 银联支付* *///wap下订单接口(需要验证签名)public function wap…

【渝粤题库】陕西师范大学210022 学前儿童语言教育 作业(专升本)

《学前儿童语言教育》作业 一、填空题 学前儿童语言教育是研究儿童 的现象、 及其训练和 的一门科学&#xff0c;是学前教育师范院校 的一门应用性科目。学前儿童语言教育目标主要分为三个层次&#xff0c;即语言教育 、 和 。语言教育评价是语言教育 中的一个要素&#xff0c…

【渝粤题库】陕西师范大学292011 初级微观经济学 作业(高起专)

《初级微观经济学》作业 一、填空题 1.微观经济学的研究对象是————————————。 2.需求曲线向————倾斜&#xff0c;表明商品的价格与供给量成————变动。 3.支持价格是政府为了扶植某一行业的生产而规定的该行业产品的——————。 4&#xff0e;>1&…

【渝粤题库】陕西师范大学300011 历史文献学

《历史文献学》作业 一、名词解释 1&#xff0e;卜辞 2&#xff0e;旋风页 3&#xff0e;“经” 4&#xff0e;《史记》三家注 5&#xff0e;别集 6&#xff0e;校勘 7&#xff0e;载体文献 8&#xff0e;蝴蝶装 9&#xff0e;“朱丝栏”与“乌丝栏” 10&#xff0e;别史 11&am…

【渝粤题库】陕西师范大学500018 物理实验研究 作业(专升本)

《物理实验研究》作业 一、回答问题 什么是创新、具有那些特征&#xff1f;现代科技创新发展的主要特点有哪些&#xff1f;什么是创新性思维&#xff1f;创新思维的主要方法什么是创新技法本课程介绍的常用科技创新技法有哪些.奥斯本智力激励法及其基本原则组合型创新技法原理…

【渝粤题库】陕西师范大学720001 分子生物学

分子生物学作业 一、填空 DNA双螺旋直径为 &#xff08;1&#xff09; nm&#xff0c;每隔 &#xff08;2&#xff09; nm螺旋上升一圈。大肠杆菌DNA聚合酶Ⅲ的 &#xff08;3&#xff09; 活性使之具有 &#xff08;4&#xff09; 功能&#xff0c;极大地提高了DNA复制的保真…

企业知识库:从信息管理到知识创新的转变

在当今这个信息爆炸的时代&#xff0c;企业知识库的建设已经成为了企业持续发展的重要基石。从传统的信息管理到现代的知识创新&#xff0c;企业知识库的角色和功能也在不断地演变和升级。本文将探讨企业知识库的发展历程&#xff0c;以及如何实现从信息管理到知识创新的转变。…

php封装的数据库操作文件夹,PHP中对数据库操作的封装_php

现在我们把其封装在dbfz.inc中&#xff0c;其设计如下&#xff1a;$#60;?class dbInterface{ var $dbID1; //用于确定当前操作的数据库&#xff0c;当dbID为1代表mysql,当为 2代表 SQL Server&#xff0c;为3时为ODBC或其它。var $dbHost; //数据库所在主机域名var $dbUsernam…

Spring框架架构

这是Spring Framework Architecture的概述。 了解Spring Framework的各个组成部分如何组织以及如何相互联系。 如果您想了解什么是Spring框架及其功能&#xff0c;请阅读Spring框架简介 。 总览 Spring是一个模块化框架 。 它不是作为一个软件包或多个模块捆绑在一起的。 各种…

国家开放大学2021春1073法律文书答案

教育 教育 试卷代号&#xff1a;1073 2 0 2 1年春季学期期末统一考试 法律文书 试题答案及评分标准 &#xff08;供参考&#xff09; 2021年7月 一、单项选择题&#xff08;本大题共6小题&#xff0c;每小题3分&#xff0c;共18分。在每小题列出的四个备选答案中只 有一个符合…

【渝粤教育】广东开放大学 社会工作行政 形成性考核 (52)

选择题 题目&#xff1a;社会工作行政的一般环境是指从社会工作行政组织内部对社会工作行政的过程、方法等产生直接影响的各种因素的总和 题目&#xff1a;社会工作行政环境是指对社会工作行政的过程、方法、程序、效率、效果等产生影响的各种力量和条件因素的总和。 题目&…

php中n12br,PHP常见字符串操作函数与用法总结

一、字符串的格式化1、字符串的格式化trim()函数可以去除字符串的开始位置和结束位置的空格&#xff0c;并将结果字符串返回&#xff0c;默认情况下去除的字符是换行符和回车符(\n和\r),水平和垂直制表符(\t和X0B)ltrim()函数只从字符的开始处(左边)去除空格rtrim()函数只从函数…

php变量 声明提升,TypeScript:let和const变量声明

在开始介绍let和const变量声明前&#xff0c;有必要先了解下JavaScript里的var变量声明。var变量声明全局声明var声明在函数体外&#xff0c;所声明的变量为全局变量。var name "张三";var所声明的全局变量会作为window的一个属性&#xff0c;可以使用"."…