js的组成
=>ECMAscript 语法规范
=>BOM(Browser Object Model) 浏览器对象模型
->作用: 提供一套供我们操作浏览器的一些API 一些属性或者方法
=> DOM(Document Object Model) 文档对象模型
-> 作用: 提供一套供我们操作文档的一些API 一些属性或者方法
js引入方式
行内式
内嵌式 <
<script></script>
外链式
<script src=""></script>
js的变量
定义变量
=> 语法: var 变量名 = 值
var 关键字 var 和变量名之间要有空格 = 赋值符号 就是把赋值符号右边的值赋值给左边的变量名 值 就是你要让这个变量名赋值的功能
变量名的命名规则和规范
=> 规则
必须由数字 字母英文状态下的下划线(_) 美元符号($) 组成
不能以数字开头
变量名严格区分大小写
不能使用关键字和保留字作为变量名
不能有空格
=> 规范
如果是多个单词组合而成的变量名采用驼峰命名法
尽量不要采用中文作为变量名
变量名尽量语义化
js变量定义的几种方式
=> 定义一个变量不赋值
var a
=>定义一个变量并且赋值
var b = '123'
=> 定义多个变量不赋值
var a,b,c
=> 定义多个变量并且赋值
var a = 10, b = 20
=> 定义多个变量 有的赋值有的不赋值
var a = 10 , b, c = 30;
js数据类型
分类
=> 基本数据类型(简单数据类型)
=> 引用数据类型(复杂数据类型)
基本数据类型
空类型:null 有值 这个值就是null
未定义: undefined
布尔值: boolean
数字: number
字符串: string
符号: symbol(ES6新增)
对象: object
除了对象之外, 其他为基本类型
复杂数据类型
=> 函数 (function)
检测数据类型的方法
=> typeof
=> typeof()
数据类型的转换
=> 其他数据类型转换成数值类型
number() 把你要转换的数据当做一个整体看待 如果不是返回的是一个NaN NaN(not a number)
paeseInt() parseInt() 是把数据一位一位的看待 取整 不认识小数点
parseFloat() 用法一样 区别: 这个方式认识小数点
=> 其他数据类型转换成字符串类型
String()
toString()
=> 其他数据类型转换成布尔类型
不能转成true
'' 空字符穿
0 数字零
NaN
null
undefined
js运算符
算数运算符
=> + - * / %
比较运算符
=> > < == === >= <= != !==
赋值运算符
=> = += -+ /= %= *=
逻辑运算符
=> 或 || 一真全真
=> 与(且) && 一假全假
=> 非 !
短路运算 就是让一段代码执行
与(且)
当运算符左边为false的时候 , 右边的代码不执行
只有左边的代码为true的时候, 右边的代码才执行
或 ||
当预算符 左边为 true 的时候 , 右边的代码不执行
只有左边的代码为false的时候 , 右边的代码才执行
非 !
双取反转布尔
js自增自减
=> 一元运算符
=> 自增 在自己本身的情况下加1 符号: ++
前置++ 后置++
=> 自减 在自己本身的情况下减1 符号: --
前置-- 后置--
三元运算符
=> 是由两个符号来参与运算的
=> 语法: 表达式 ? 结果1 : 结果2
-> 解释语法:
+ 如果说表达式成立(结果为真 [true]) 执行结果1
+ 如果表达式不成立(结果为假[false]) 执行结果2
=> 三元表达式是对if else 的简写
var num = 11;
num % 2 === 0 ? console.log('你好') : console.log('世界');
利用三元表达式赋值
var gender = 11;
var sex = gender % 2 === 0 ? '男' : '女';
console.log(sex);