1 javaScript的组成
- ECMAScript:一个标准,核心部分,也叫解释器,就是将编程语言解释给计算机来执行(几乎没有兼容性问题)。
- DOM:全称为Document Object Model。拥有操作HTML的能力。 document(有一些兼容性问题)
- BOM:全称为Broswer Object Model。 拥有操作浏览器的能力。window(完全不兼容)
2 六种数据类型
虽然定义变量时都是使用var关键字来定义,但是不同的变量是有自己的数据类型的。
- number 数字类型 ex:5
- object 对象类型
- function 函数类型
- boolean 布尔类型 ex:true、false
- string 字符串类型 ex:’name’
- undefined 未定义
使用typeof可以得出变量的数据类型。
window.onload = function(){
var a = 12;
alert(typeof a);
}
3 数据类型的转换
数据类型的转换分为强制转换和隐式转换
window.onload = function(){
var a = '213';
var b = parseInt(a);//将字符串强制转换为整数,执行后b的值为213
}
window.onload = function(){
var a = '213abc';
var b = parseInt(a);//将字符串强制转换为整数,执行后b的值为213,从前往后解析,遇到非数字,就停止解析。
}
window.onload = function(){
var a = '213abc211';
var b = parseInt(a);//将字符串强制转换为整数,执行后b的值为213,从前往后解析,遇到非数字,就停止解析。
}
window.onload = function(){
var a = '2.13';
var b = parseFloat(a);//将字符串强制转换为整数,执行后b的值为2.13。
}
强制转换时可能会出现NaN(Not a number),判断是否为NaN,使用isNaN()函数。
下面看一个隐式转换的例子:
var a = 5;
var b = '5';
alert(a==b);-->true
alert(a===b);-->false
比较a==b,返回true,因为在比较之前,b从’5’被隐式转换为5,然后进行比较。而a===b,返回false,因为使用===,就不会转换类型,而是直接比较,所以返回false。