脚本语言 编程语言
与python相比
相同点:单线程 异步 解释型(一句一句执行)-->慢
ECMAscript
一、数据类型
1、基本数据类型
Boolean 布尔值 0 1 false true
String 字符串 ' ' " "
** 转义: \** .length长度
Number (数值) 无穷大 无穷小Infinity Number .MAX_VALUE 最多写17位小数
null 空对象指针 var object = {} 空对象
undefined 变量只申明,未赋值 var = a; a
数据转换
1、其他类型转换成数值类型
Number() 任意类型转换为数值类型
Number('34ff') NaN --> not a number Number('null') ---> 0 Number('undefined')-->NaN NaN==NaN --> false
parseint() 转换为整型
parseInt('10sjd')-->10 parseInt('a10sjd')-->NaN 排查
parsefloat() 转换为浮点型
传字符串整数-->还是整数
任意数据类型转换为Boolean()
结果为false情况: false NaN null undefined '' 0
任意类型转换为字符串 .toString()
String(null)
123.toString()-->'123' null.
对数值、字符串、布尔类型两者都行 toString()不能转null和undefined String()可以
引用数据
Object(Array 数组 Funtion 函数 Data 日期 object对象 )
对象是属性和方法的集合 与数组的 差别 数组是有序的 对象保存的是无序的数据
键值对存在 key : value
遍历 for-in
for (var index in obj1) {
document.write(index+':'+obj1[index]+'<br>')
}
数组
连续的数据 连续的存储空间
数组名字保存数组内存的首地址
js中的数组是动态的,没有固定的长度 数据有多少 数组就有多大 可以保存任意数据类型的数据
遍历:
* for() while() forEach()*/
运算符
算术运算符
优先级: * / % + -
关系运算符
> < >= <= == === =
==: 预先做转换 '10' == 10 --->true
===: 不光进行数值上的判别 类型也判断 '10' == 10 --->false
逻辑运算符
&& 与 || 或 ! 非 !0 == 1 !1==0 if (!err){ console.log('没有错')}
如何判断数据类型
判断基本数据类型:typeof
typeof null---->object (null 空对象指针) typeof undefined---->undefined
判断引用数据类型:instanceof
var arr = new Array()
arr instanceof Array arr instance Object true