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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python获取软件窗口句柄_python获取窗口句柄并将指定应用置顶

    python获取软件窗口句柄_python获取窗口句柄并将指定应用置顶defget_all_hwnd(hwnd,mouse):if(win32gui.IsWindow(hwnd)andwin32gui.IsWindowEnabled(hwnd)andwin32gui.IsWindowVisible(hwnd)):AC_cycle_uefi.hwnd_title.update({hwnd:win32gui.GetWindowText(hwnd)})defs…

    2022年7月21日
    19
  • vim命令多行操作

    vim命令多行操作一、文件内多行注释:1.按esc进入命令行模式下,按下Ctrl+v,进入列(也叫区块)模式;2.在命令模式下h键或j键选择需要注释的多行;3.按下(大写)“i”键,进入插入模式;4.输入注释符#或//5.最后按下“Esc”键。注:在按下esc键后,即可出现二、文件内删除多行注释:1.首先按esc进入命令行模式下,按下Ctrl+v,进入列模式…

    2022年6月26日
    103
  • phpstorm2020激活码【在线破解激活】

    phpstorm2020激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    115
  • C#MQTTNET服务端使用说明

    C#MQTTNET服务端使用说明C#MQTTNET服务端使用说明1.安装MQTTNet两种方式Shell可视化安装2.当前我的项目安装的依赖如下3.如何使用1.我想启动MQTT服务器,我该怎么做?2.我想知道MQTT服务器是否启动成功,我该怎么做?3.我想知道MQTT服务器是否停止允许,我该怎么做?4.我想知道有那些设备连接上了服务器,我该怎么做?5.我想知道有那些设备断开连接,我该怎么做?6.我想监听消息,我该怎么做?7.我想连接的客户端校验身份信息后才允许收发消息,我该怎么做?8.我想知道客户端订阅主题与取消订阅主题,我该怎么做?1.

    2022年6月25日
    315
  • 大数据运维面试题整理

    大数据运维面试题整理HDFS总结:1、HDFS是如何解决大规模数据的存储和管理的2、HDFS的架构原理和各核心组件的作用及关系3、HDFS文件系统数据的读写流程4、HDFS的HA的架构原理及核心5、HDFS的Federation机制6、HDSF的HA和Federation的区别…

    2022年5月20日
    79
  • python lambda表达式 if_Python学习-lambda表达式

    python lambda表达式 if_Python学习-lambda表达式lambda只是一个表达式,函数体比def简单很多。lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda表达式是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。#求三个数的和1f=lambdax,y,z:x+y+x2print(f(1,2,3))#434f=lambdax,y,z:x+y+z5print(…

    2022年10月18日
    5

发表回复

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

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