大家好,又见面了,我是你们的朋友全栈君。
虽然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 将每对象中的每个属性名和方法名逐一的遍历出来。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156273.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...