第三章-基本概念
语法
1、区分大小写,标识符。(规范,第一个字母必须是字母,下划线或者是$符)
2、js注释 // 或者 /* */
3、语句 var s = 5;
变量
ECMAScript 的变量时松散型的,所谓的松散型就是可以用来保存任何类型的数据,换句话说,每个变量仅仅是一个用于保存值的占位符而已,定义变量时,要使用var操作符;例如
var message ; 该变量可以用来保存任何值,
(像这样为经过初始化的变量,会保存一个特殊的值:undefined)
alert(message ); undefined
var message = "hi";
message = 100 ; // 有效 但是不推荐
有一点必须注意,即使用var 操作符定义的变量将成为定义该变量的作用域的局部变量。 也就是说,如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁
数据类型
ECMAScript 有五种简单数据类型-基本数据类型
Number ,Boolean ,String , Undefined ,Null 还有一种复杂得数据类型-Object.
Object 本质上是由一组无序的键值对组成,ECMAScript 不支持任何创建自定义类型的机制,所有值最终都将是上述6中数据类型之一
typeof 操作符 - 用来检测给定变量的数据类型。返回的值可以是如下值:
"undefined"——如何这个值未定义
"boolean"——如果这个值是布尔值
"string"——如果这个值是字符串
"number"——如果这个值是数值
"object"——如果这个值是对象或者null
"function"——如果这个值是函数
typeof 是操作符 而不是函数,因此 可以不加 ().
Undefined 类型
var message;
alert(message) ; ——undefined
alert(age); ——报错
typeof age —— 报错
Null类型
从逻辑角度来看,null值表示一个空对象指针,而这也正是使用typeof 操作符检测null时返回”object“的原因。
var car = null;
typeof car —— object
Undefined 是派生自 null的一种 因此 undefined == null
Boolean
各种数据类型 使用 Boolean()转换至 boolean 类型:
Number 类型
var num = 55; // 默认是10进制
var num = 070; // 八进制 —— 为56
var num = 079; //无效的八进制——79
var num = 08; //无效的八进制 ——8;
var num = 0xA; // 十六进制的10;
var num = 0x1f; // 十六进制的31;
科学技术法: (整数或者浮点数)E(指数)
数值范围:
最小数值: Number.MIN_VALUE
最大数值: Number.MAX_VALUE
正无穷: Infinity
负无穷:-Infinity
判断是否在最大和最小数值间: isFinite();
NaN : 即非数值,是一个特殊的数值。 比如 任何数除以0 都会返回NaN;
NaN 本身有两个非同寻常的特点: 首先 任何涉及NaN的错做都会返回NaN,其次与任何值都不相等包括NaN
alert(NaN == NaN); —— false;
isNaN( param ) —— param参数可以是任何类型,而函数会帮我们确定这个参数是否”不是数值“,isNaN()在接收到一个值之后,会尝试这个转换数值。某些不是数值的值会直接转换为数值。例如字符串”10“ 或者Boolean 值。 而任何不能转换为数值的值都会导致这个函数返回true;
isNaN(NaN) —— true
isNaN(10) —— false
isNaN("10")—— false
isNaN("blue") —— true
isNaN(true)—— false 不能转换为数值
数值转换
有三个函数可以把非数值转换为数值:Number() 、parseInt() 、parseFloat()
第一个函数:转型函数可以用于任何类型数据类型,而另外两个函数则专门用于把字符串转换成数值。
Number() 函数的转换规则如下: