- js组成部分
1.ECMAScript 2.DOM(document object model)3.BOM(browser object document)
(1)ECMA是(欧洲计算机制造商协会)它规定了js的语法标准。
(2)DOM是文档对象模型,规定了文档的显示结构,可以轻松地删除、添加和替换节点
(3)BOM是浏览器对象模型,就是浏览器自带的一些功能样式,如搜索框,设置,等学习浏览器窗口交互的对象
- 定义变量名的规范:
- 由字母、数字、下划线、$组成;
- 变量名不能以数字开头 1num
- 遵循驼峰命名法; 第一个有意义的单词小写,以后任何一个有意义的单词大写,(语义化:方便维护)
不能以关键字保留字作为变量名;
关键字:在JS中有特殊意义的单词; 保留字:在未来有可能成为关键字的词
- 严格区分大小写
- 数据类型
基本数据类型和引用数据类型
1.基本数据类型存储到栈内存中,引用存储到堆内存中;
2.基本数据类型是操作值的,引用数据类型操作的是空间地址;
基本: number string boolean null undefined symbol
引用: 对象数据类型和函数数据类型
对象数据类型: 对象 数组 正则 Math Date的实例…
函数数据类型: 函数 、类
console.log(isNaN(NaN));//true
console.log(isNaN("aaa"));//true
console.log(isNaN("1px"));//true
console.log(isNaN(1));//false
console.log(isNaN("1"));//false
console.log(Number("22.22")) //22.22
console.log(Number(null));//0 *******
console.log(Number([]));//0
console.log(Number(""));//0
console.log(Number(true));//1
console.log(Number(false));//0
console.log(Number("1px"));//NaN
console.log(Number({})); //NaN
console.log(Number(undefined));//NaN
isNaN() 先转number类型,是有效数字–false
- 数据类型比较的规律
1.对象==对象,比较的空间地址;
2.对象==字符串,对象默认调用toString方法,先转换成字符串,再比较
3.对象==布尔, 对象先转换字符串,再转换数字;布尔直接转换数字;
4.对象==数字; 对象先调用toString方法转成成字符串,然后再转number
5.布尔==数字: 布尔转数字
6.字符串==数字:字符串转数字
7.布尔==字符串:布尔转数字,字符串转数字,然后比较
8.null == undefined: true //null==null undefined==undefined 都是true
9.unll.undefined 和其他数据类型比较都是false;