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)
上一篇 2022年7月9日 上午8:16
下一篇 2022年7月9日 上午8:36


相关推荐

  • 线程的挂起

    线程的挂起1 什么是线程的挂起 nbsp 线程的挂起操作实质上就是线程进入 非可执行 状态下 在这个状态下 CPU 不会分给线程时间片 进入这个状态可以用来暂停一个线程的运行 nbsp 线程挂起后 可以通过重新唤醒线程来使之恢复运行 2 为什么要挂起线程 nbsp cpu 分配的线程片非常的短 同时也非常珍贵 避免资源的浪费 3 挂起线程的方法 nbsp 1 废弃的方法 nbsp nbsp nbsp thread suspen

    2026年3月19日
    2
  • Carson带你学Android:网络请求库Retrofit源码分析

    Carson带你学Android:网络请求库Retrofit源码分析前言在 Andrroid 开发中 网络请求十分常用而在 Android 网络请求库中 Retrofit 是当下最热的一个网络请求库今天 我将手把手带你深入剖析 Retrofitv2 0 的源码 希望你们会喜欢在阅读本文前 建议先阅读文章 这是一份很详细的 Retrofit2 0 使用教程 含实例讲解 目录 1 简介特别注意 准确来说 Retrofit 是一个 RESTful 的 HTTP 网络请求

    2026年3月19日
    4
  • tomcat8日志乱码_linux打开文件乱码

    tomcat8日志乱码_linux打开文件乱码linux中,启动tomcat,日志乱码。

    2026年4月13日
    6
  • Network 之二 Ethernet(以太网)中的 MAC、MII、PHY 详解[通俗易懂]

    Network 之二 Ethernet(以太网)中的 MAC、MII、PHY 详解[通俗易懂]结构  从硬件的角度看,以太网接口电路主要由MAC(MediaAccessControl)控制器和物理层接口PHY(PhysicalLayer,PHY)两大部分构成。如下图所示  但是,在实际的设计中,以上三部分并不一定独立分开的。由于,PHY整合了大量模拟硬件,而MAC是典型的全数字器件。考虑到芯片面积及模拟/数字混合架构的原因,通常,将MAC集成进微控制器而将PHY留在片外…

    2026年2月14日
    4
  • nohup和&的区别

    nohup和&的区别转自:nohup和&的区别http://bbs.nanjimao.com/thread-470-1-1.html(出处:南极猫)nohup是永久执行&是指在后台运行运行n

    2022年7月3日
    30
  • vue遍历数组

    vue遍历数组template div h3 ListRender h3 h3 遍历数组 不带 key h3 ulclass left liv for listone index inlistones index 姓名 listone name 年龄 listone age 性别 liv for listone index inlistones ulclass left div template

    2026年3月26日
    1

发表回复

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

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