ECMAScript:翻译 核心 解释器
计算机只认识 0 1
DOM
Document Object Model 文档对象模形 对象document
document赋予js操作HTML的能力
document是操作HTML的入口
DOM操作
HTML就是文档
BOM Browser Object Model 浏览器 对象 window
ECMA 几乎没有兼容性问题
DOM 有一些操作不兼容
BOM 没有兼容问题(完全不兼容)
typeof a 验证是什么类型
12=number
'adf'=string
true= boolean
function(){}=function
document=object
undefined 未定义类型两种情况会出现
1.真的没定义
2.虽然定义了,但没给东西
变量本身没有类型,存什么属于什么类型
一个变量最好只存放一种类型的数据
parseInt 字符串转成数字(整数) 可以提字符串中的数字从左到右看,看到不是数字的就跳出来,后来的就看不到了
如果字符串没有数字,就是NaN
Not a Number 非数字
12+NaN,任何数和NaN加 都是NaN
NaN和NaN不相等
isNaN(a)判断是不是NaN(非数字)
parseInt(a)只能转成整数
parseFloat(a)可以转成小数
以上是显式类型转换也叫强制类型转换
隐式类型转换 :== -
+ 1.字符串连接 2.数字相加
- 1.数字相减
var a=5
var b='5'
alert(a==b) //true 先转换类型,再比较 自己转的
alert(a===b)//false 不转类型,直接比
变量的作用域 就是变量起作用的范围
局部变量 :只能在定义他的函数里面使用
全局变量:在任何地方都能用
闭包 就是子函数可以使用父函数的局部变量
命名规范 1.可读性2.规范性
匈牙利命名法
1.类型前缀 oDiv 存对象的 aDiv 存数组的
2.首字母大写