JS 的组成
ECMAScript和DOH和BOM三者共同组成
1.ES:定义了JS的语法规范,描述了语言的基本语法和数据类型
简单来说:JS怎么写,需要根据es的规定
2.DOM(文档对象模型)
有一套成熟的操作DOM节点的API,通过DOM可以操作页面中的元素(其实就是标签)
比如棚:增加一个div,删除一个span,修改H1标签的内容
3.BOM(湖览器对象模型)
有一套成熟的操作BOM的API
比如:弹出框,浏览器跳转,获取浏览器相关信息获取湖览器尺寸
js 的三种书写方式
1.行内式: 通过onclick
例如: <标签 onclick="alert('你好')"></标签>
2.内嵌式:
使用 script 标签一般写在body标签的尾部
3.外联式:
使用script 引入 类似CSS的link引入
<script src="待引入的js文件"></script>
js 定义变量
什么是变量?
变量是计算机中存储数据的一个标识符,通过这个标识符可以找到内存中存储的数据
变量相当于一个容器,可以存储任意类型的值
使用变量
1.定义变量: 语法: var 变量名
例如: var a
2.变量赋值: 变量名 = 值 ( = 叫做赋值号)
例如:a=100
3 打印变量:console.log(变量名)
*简化写法:var a=100
变量命名规则与规范(必须遵守,不遵守会报错)
**1.规则(必须遵守的。如果不遵守会报错)**
在书写变量名的时候,只能由数字字母下划线$符引(英文的)组成,并且不能以数字开头
书写时区分大小写
书写变量名时。不能使用关键字或者保留字作为变量名
关键字:在js中具有特殊含义的字母组合,
如:var if for function等
保留字:在js中目前没有特殊含义,但在将来的某个版本可能会用到,所以此时也不能使用,在Es6还没出现之前具有的保留字,如Let const promise
**2.规范(建议遵守,如果不遵守也不会报错)**
变量名具有含义,符合见名知意
尽量不要用字母作为变量名,除非是练习
多个单词的组合名时,使用驼峰命名法(多个单词拼接时,后一个单词的首字母大写),如: bigbox -> bigBox
js数据类型(基本数据类型)
1.Number类型
数字类型:不区分整数浮点数
10320e1.16 , -6 , -999都是数字
2.String类型
字符串类型:只要是引号包裹的内容,就是字符串类型(引号不区分单双引号)
3.undefined类型: 他是一个数据,表明未定义
变量只定义,不赋值的时候,默认的值就是undefined表明未定义
4.BooLean类型(后续更多的使用在判断上)
只有两个值一个是true 一个是false
true: 代表真,正确的
false:代表假,错误的
5.NuLL类型: 代表空,
本身是一种数据类型,只不过代表的是空(啥也没有)
NuLL和undefined不同!!!
使用场景:在创建对象的时候,如果开始不知道对象内部有什么,可以给一个null
类似于在创建变量的时候,只定义,不赋值默认是一个undefined
数据类型检测
语法: typeof(要检测类型的值)
注意:不能正确检测出null的实际类型,检测null是会显示object;
因为null是空,视为空对象,因此会被当做对象输出.
数据类型转换(转数值/转字符串/转布尔)
**1.转换为数字类型**
1.Number(数据)
可以用于任何数据类型,将其转换为数字类型
(1).字符串转数字
如果转换的字符串是纯数字组成的,那么直接转换为数字
如果转换的字符串是空字符串或者空白字符串,那么直接转换为数字0
其他类型的字符串(不是空---空白---纯数字字符串)会转换为NaN.
NaN:表示的是一个number的数字,但是没有办法通过常规的数字表明它,
所以只能使用Na来代替.
(2).布尔值转数字
true转换为1
false转换为0
(3).undefined转数字
会直接转换为NaN
(4)nuLL转数字
会直接转换为0
2.parseInt(数据) : 转换为整数
会将数据转换为number类型,并且值是整数
(直接忽略掉小数点以后的值,并不是四舍五入)
在转换的时候,如果数据是纯数字字符串或者是数字开头的字符串,
那么会转换为数字,否则就是转换为NaN
3.parseFloat(数据) : 转换为小数
转换结果于parseInt类似,但是在转换小数的时候会保留小数点后的数字
**2.转换为字符串类型**
(1). 变量 toString()
例如 : var a = 100
console.log(typeOf(a.toString()),a.toString())
注意:undefined和null不能是用,JS不允许
(2). String(变量)
任何类型都可以转化,包括undefined和null
(3). 扩展: 变量 + '空字符串'
任何类型都可以转化,包括undefined和null
**3.转换为布尔类型**
语法:Boolean(变量)
转化为布尔值,也就是转化为true或者false
(1).数字转为布尔值:
只有0会转化为false,其余都为true
(2).字符串转化为布尔值:
只有空字符串会转化为false
(3).undefined和null
都转化为false