JavaScript和Java的区别[通俗易懂]

JavaScript和Java的区别[通俗易懂]  虽然JavaScript中有Java,但他们之间的关系就如同印度和印度尼西亚一样——没有什么关系。只是JavaScript中的某些语法和Java类似而已。出身不同  Java和JavaScript是由不同公司发布的不同的产品,Java是由Sun公司发布编程语言,而JavaScript是由Netscape公司发布的脚本语言。变量不同1.变量定义时的区别  定义变量时Java和JavaScript有区别。Java是强类型的语言,它要求每个变量必须在定义时明确指出这个变量是什么类型的;而JavaS

大家好,又见面了,我是你们的朋友全栈君。

在这里插入图片描述

  虽然JavaScript中有Java,但他们之间的关系就如同印度和印度尼西亚一样——没有什么关系。只是JavaScript中的某些语法和Java类似而已(语法相似的语言一大堆)。

出身不同

  Java和JavaScript是由不同公司发布的不同的产品,Java是由Sun公司发布编程语言,而JavaScript是由Netscape公司发布的脚本语言。

变量不同

1. 变量定义时的区别

  定义变量时Java和JavaScript有区别。Java是强类型的语言,它要求每个变量必须在定义时明确指出这个变量是什么类型的;而JavaScript是弱类型的语言,它的变量是解释器运行时才知道这个变量是什么数据类型。

2. 真假值不同

  在Java中,只有false表示假,true表示真;而在JavaScript中,0、-0、””(空字符串)、false、null、undefined、NaN这七个值都表示假,而除了这七个值之外,其他的都是真。

3. 数组不同

  Java中数组是固定长度,只能放一种类型数据;而JavaScript中数组长度可变,可以放多种数据类型。

4. 对象不同

  Java中对象在类定义时有几个属性就有几个属性,不能随意添加;而JavaScript中对象的属性可以根据需要再添加或删除属性。

方法不同

1. 定义方法时的区别

  在Java中,不允许在方法中定义方法;而在JavaScript中,允许在方法中定义方法,因为JavaScript将方法视为变量。

2. 方法使用时不同

方法的参数问题

  Java中,方法的参数必须严格按照方法定义时的情况使用;而在JavaScript中,调用定义的方法时,传递的实参个数可以和定义时形参个数不同,例如下面的代码是正确的。

var f4 = function(a, b) { 
   
	alert(a);
	alert(b);
}
f4("1");
f4(1,2,3);

  对于 f4("1"); 来说,相当于第一个参数是字符串1,第二个参数是undefined
在这里插入图片描述
在这里插入图片描述
  对于 f4(1,2,3); 来说,第三个参数没有用处,虽然传递了实参,但是没有形参接收,因此没什么用。

方法的返回值问题

  Java中方法的返回值为 void 的方法不能用来给变量赋值;而JavaScript中可以,此时变量的值是 undefined。

运算符不同

  JavaScript中的运算符和Java中的运算符用法基本相同,唯一不同的是JavaScript中多了一种运算符 === —— 全等运算符,表示值和类型都相等,而 == 表示值相等。

var num = 6;
var snum = "6";
console.log(num==snum);
console.log(num===snum);

在这里插入图片描述
  num 是Number类型的6,而 snum 是String类型的6,使用 == 会返回true,而使用 === 则会返回false。

for 循环

  JavaScript中提供了一种新的 for 循环的形式—— for in

var obj = { 
   
	name: "柚咖",
	age: 18,
	study() { 
   
		alert("正在学习");
	}
}
for (x in obj) { 
   
	alert(x + "---" + obj[x]);
}

  for in 将每对象中的每个属性名和方法名逐一的遍历出来。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156273.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • waf(web安全防火墙)主要功能点

    waf(web安全防火墙)主要功能点注入攻击SQL注入防护:阻止恶意SQL代码在网站服务器上执行。命令注入防护:阻止攻击者利用网站漏洞直接执行系统命令。XPATH注入防护:阻止攻击者构造恶意输入数据,形成XML文件实施注入。LDAP注入防护:阻止攻击者将网站输入的参数引入LDAP查询实施注入。SSI注入防护:阻止攻击者将SSI命令在服务端执行,主要发生在.shtml,.shtm,.stm文件。缓冲区溢出防护:阻止请求中填入超过缓冲区容量的数据,防止恶意代码被执行。HPP攻击防护:阻止攻击者利用HPP漏洞来发起注入…

    2022年5月5日
    153
  • 科研神器(高效开发工具)

    科研神器(高效开发工具)

    2020年11月8日
    206
  • LVS DR负载均衡配置

    LVS DR负载均衡配置

    2021年9月11日
    51
  • Pycharm安装matplotlib

    Pycharm安装matplotlib在终端中通过pip3安装matplotlib后,发现pycharm中引入会报错,查了一下发现可以在Pycharm中安装matplotlib来解决:1.打开Preferences,找到ProjectInterpreter,点“+”添加2.在输入框中输入matplotlib进行搜索,然后选中要安装的包并点击下方的installpackage3.此时如果发现安装特别慢,可以…

    2022年6月16日
    27
  • 深度学习-图解卷积运算

    深度学习-图解卷积运算卷积神经网络 Convolutiona CNN 针对全连接网络的局限做出了修正 加入了卷积层 Convolution 层 和池化层 Pooling 知层 CNN 被广泛应用于图像识别 语音识别等各种场合 在图像识别的比赛中 基于深度学习的方法几乎都以 CNN 为基础 比如 AlexNet VGGNet GoogleIncept 及微软的 ResNet 等 上 近几年深度学习大放异彩 CNN 功不可没 单通道 二维卷积运算示例 如上图所示 红色的方框圈中的数

    2025年9月14日
    2
  • 陕西驾驶员考试

    陕西驾驶员考试

    2021年7月27日
    66

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号