1、javascript是弱类型语言,定义变量时用var关键字(可选)且不需要也不能指定变量的类型,而java是强类型语言,定义任何变量时必须指定其类型,否则无法通过编译;。
2、javascript定义函数(或函数直接量)时要使用function关键字,java不需要;。
下面举例说明:
1、定义变量的方法
javascript
var 变量名=初始值(可选);或。
变量名=初始值(可选);如
var str="你好";
d=new Date();
java
变量修饰符(public、protected、private、static、final的有效组合) 变量类型 变量名=初始值(可选);如。
public static final int Count=100;。
2、定义函数的方法
javascript
function 函数名(参数列表(可选))。
或
var(可选) 变量名=function(参数列表(可选))。
}如
function f(a,b,c)。
或
f2=function()
java
函数修饰符(public、protected、private、static、final、abstract的有效组合) 返回类型 函数名(参数列表(可选))。
}(非abstract函数)
或
函数修饰符(public、protected、abstract的有效组合) 返回类型 函数名(参数列表(可选));如。
public static void f(int a,String msg)。
}或
public abstract int f2(float f,char c);。
javascript有六种基本数据类型,分别是:
未定义 undefined
空对象 null
布尔值 boolean
数字 number
字符串 string
对象 object
顺便一提,NaN是数字number类型。
js基本的数据类型 :数字类型,字符串型,布尔型,undefined,null ,对象类型,数组。
1、数字类型(Number)
只有一种数字类型,数字 可以是小数 ,也可以的整数。
以0开头 默认使用8进制来表示我的这个数字。
以0x开头 默认使用16进制来表述我的这个数字。
如果以-开头 默认以负数
如果我带有e:以科学计数法来解析我的这个数字。
2、字符串型(string)
字符串是存储字符的变量,用来表示文本的数据类型,程序中的字符串是包含单引号/双引号的,由单引号来界定我双引号中包含的字符串 反过来。
es6模板字符串("`")
3、布尔类型(boolean)
一般是用在流程控制语句中,字符串和数字类型都是无穷多个,然而我们的布尔数据类型只有两个:true 和 false。
这两个个值一般用于说明某个事物是真或者假。
js一般用布尔类型来比较所得到的结果。
4、null(空)
关键字null是一个特殊的值,它表示变量为空值,用来定义空的或者是不存在的引用。
如果试图去引用一个没有定义的值,就会返回一个null。
这里注意一点:null并不等于"" 或者0。
5、undefined(未定义)
这个值表示变量不含有值,没有定义的值,或者被定义了一个不存在的属性值。
在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型)和一种复杂数据类型,它们分别是:Undefined,Null,Boolean,Number和String。复杂数据类型—Object。
1、typeof
typeof这个关键字是一定要说的,因为javascript是松散类型的,在变量申明时并没有使用与之类型相对应的关键字,如果在代码中想要获知某个变量的基本数据量,就可以使用typeof。这里要注意的是typeof返回的是字符串类型。
(1)、"undefined"——未申明,或者变量的值即为undefined或者未初始化;
(2)、"boolean" ——如果这变量的值是布尔类型;
(3)、"string" ——值是字符串类型;
(4)、"number" ——值是数字类型;
(5)、"object" ——对象或者值为null;
(6)、"function" ——函数。
在js中函数也是对象,但是函数又要一些区别与其他对象的特定,所以ECMAScript在使用typeof的时候将其区分开来。
2、Undefined
这是一个很有意思的数据类型,因为它的值只有一个,那就是undefined。在申明变量时如果没有将变量赋值的话这个变量也是属于Undefined类型的。
如果一个变量没有申明就直接去访问解释器会报错误信息,但是这样的变量如果使用typeof返回的结果也是"undefined"。
3、Null
Null也是一个只有一个值得数据类型,它的值就是null,任何变量只要给其赋值为null的话这个变量的数据类型就是Null类型。null值表示控对象指针,所以申明的变量要是想用来保存对象并且在申明之初还不能确定具体保存哪个对象的时候就将其赋值为null,在使用的时候只要检查该变量是否为null就可以知道该变量是否保存了对象。
其实null和undefined还是有点微妙的关系的,在javascript中undefined值派生自null,因此ECMA-26规定了它们的相等性测试为true。
在实际的编程中我们没有必要将一个变量赋值为undefined,但是却有很多情况下要将变量赋值为null,将变量赋值为null可以便于我们将它与undefined区分也便于垃圾回收处理。
4、Boolean
在javascript中Boolean类型用还是比较多的一种简单数据类型,它有两个值,分别是true和false,因为在javascript中字母是区分大小写的,所以True和False不是Boolean的值。
调用Boolean()方法可以将任何类型的值转化成与之相对应的Boolean类型的值,也就是可以将其转化成true或者false。
5、Number
javascript为了支持各种数值类型,定义了不同数值字面量格式。
最基本的是字面量是十进制,此外还有八进制和十六进制数的字面量。八进制在js中表示是第一位一定要是0,后面就是八进制字数序列(0~7),如果字面量值超出了范围,前面的0会被忽略,后面的值会被当成十进制解析。十六进制字面量前两位必须是0x,后面跟十六进制数字(0~9及A~F)。字母A~F不区分大小写。
在进行数值计算时,不论是八进制还是十六进制最终都会被转化成十进制数值。
6、Object
Object类是所有JavaScript类的基类(父类),提供了一种创建自定义对象的简单方式,不再需要程序员定义构造函数。Object类主要属性:1.constructor:对象的构造函数。2.prototype:获得类的prototype对象,static性质。
javascript是一个“基于对象”的编程语言,不是面向对象的编程语言。
你要知道javascript中的function定义的函数实际上就是Function对象实例。
例如:
function demo(x){。
alert(x);
实际上等价于:
Function demo = new Function("x","alert(x)");。
所以你如果想要用javascript来模拟面向对象编程(例如Java的类),那么就可以用function来模拟Class,用function的原型prototype或者嵌套function来模拟类的方法或者属性。下面给你一个简单的例子:
//模拟学生类,可以带参数,例如initName。
function Student(initName){。
var name = initName; //模拟学生类的属性name。
Student.prototype.printName = function(){ //定义Student类prototype中的printName函数。
alert(this.name);。
测试时可以这样写:
var student = new Student("张三"); //创建一个“Student对象”,实际上是一个Function实例对象。
student.printName(); //执行student对象的printName函数。