ECMAScript 数据类型 标准 核心
数据类型
typeof 判断数据类型
数字型 布尔型 对象类型 函数 字符串 undefined 未定义
数字型 字符型
var s=’1233’ 空格也算
charAt() 获取子字符串的方法
s.length =4
s.charAt(3) =3
boolean布尔值:true false
多用于判断 真的条件就是true 继续执行 不是则不执行
for也又布尔值的 身影 当符合条件之后就是true了
函数类型
函数类型 function 函数 调用 时候要用一个括号
var fn=function(){alert(1);};
function fn1 (){alert(2);};
对象
obj.ab
------------------
c=123;
对象可以添加自定义属性 ,可以等于一个函数
obj.fn1=function(){xxxxxxxxxxxx}
obj.fn1(); 添加方法
------------------
数组var arr=[a,b,c,d,e,f];
arr.push(5,6,7) 给数组加东西
数组也是一个object;
可以添加自定义属性方法
arr.abc=999;
------------------
json存放数据
------------------
null就是空 没有自定义属性没有任何属性 是一个对象 一个空的对象
------------------
undefined 未定义
更多的时候是程序出问题了 一种状态
------------------------------------------------------------------------------------------------------------
强制数据类型转换
字符串转化成数字的方法:
Number ();方法
1.看起来像数字的字符串转化成数字
2.字符串 空和空格 都会转化成0;
3.true –>1 false-> 0
4.不能转的是NaN (函数 object )
5.空数组转化成0 数组是空字符串也是0 数组里面的数字 也能转 [‘013’]=013数组里东西多了也报NaN
6.json 无能为力 空的也不能转 NaN
7.null转化成0
8.undefined NaN
总结: 字符串类型的数字 空字符串 null 布尔 单个array 都能转化
var b=’100px’ Number不能转化
------------------------------------------------------------------------------------------------------------
parseInt();方法
截断型转换
parseInt(b,10) 后面数字是十进制
100px1000000
p以后的所有数字都干掉~
结果100;
认识正负号 过滤0 空格
不认识布尔 不认识小数
parseFloat();方法
比parseInt方法
多认识一个小数点
当两个方法的值一个样的时候 ===就可以判断是整数还是小数
------------------------------------------------------------------------------------------------------------
隐式类型转换
‘200’-3=197
- * % / 可以 ++ -- > < <= >=
取模 求余数【!取反】//取反是布尔值
== 和=== 三个等号是全等 是 数据类型转换的问题 两个就忽略了
alert("10">9); //true
alert("10">"9"); //false
alert("10000000">"9"); //false
字符串比较的时候按照编码比较 比的是编码
比较的是一位一位的 第一位干不过后面就干不过了
单个数字pk 9大于任何一个位数
有一个共性 就是无法转换就会 NaN
------------------------------------------------------------------------------------------------------------
NaN
NaN
not a number
程序出现NaN就是出现非法运算的操作
NaN特性 他不等于 任何东西 包括本身
是Number类型不是数字
布尔值是false
isNaN();
一个方法
isNaN(); 用来判断值是不是数字类型的 如果 见到了数字就烦 false
布尔类型也会转化成数字 false
内部是根据number转化的结果 也就是内置 number依靠number进行转化
isNaN 讨厌数字 false 不讨厌NaN true
讨厌数学(Number) 不讨厌数学系的,萌妹子(NaN);
只要是 HTML中的文本 各种属性值 类型默认全是字符串 不能直接用typeof判断
就可以用isNaN做判断
两个练习:
1.数组里找东西
2.qq号码