8/3
书写位置
行内式 内嵌式:写在head中,用script标标签
外链:外链式引入script标签中,script标签中的代码不生效,引入js注意顺序
输入输出
控制台输出 console.log() alert() 警示框输出,一行一行执行
弹出确认框 confirm(提示内容) 页面输出 不常用在页面最前边输出
弹出输入框prompt(请输入)不常用
定义变量
为什么需要变量? 因为我们一些数据需要保存,所有需要变量
变量是什么? 变量是一个容器,可以存放数据,方便我们使用里面的数据
变量的本质是什么? 是内存里的一块空间,可以存放数据
变量怎么使用的? 我们使用的时候一定要声明变量,再赋值。声明变量本质的向内存申请空间
什么是变量的初始化? 声明变量并且赋值我们称为初始化变量
变量名规范有哪些? 顾名思义---驼峰写法
交换两个变量的思路 var app; app=app1; app1=app2;即可转换
书写方法:
关键字var/let/const 变量名 = 变量值
三个关键字定义变量区别:
在定义前的变量能否使用? 是否需要定义时赋值? 定义变量值能否修改?
var:
1.定义前可用,用var定义的变量会进行预处理
2.未赋值之前的变量值是undefined(未定义)
3.is ont defined 报错表示变量没有定义时使用
4.可以在定义时不赋值 5.定义的变量可以修改
let:
1.不可以在定义前使用 2.不能重复声明 3.可以被修改,可以不赋值
const:
1.不可以在定义前使用 2.必须在定义时赋值 3.不可以被修改 4.不能重复声明
数据类型
number 数字型 symbol永不相等类型
String 字符串型:1.内单外双,外单内双 2.js用单引号,html使用双引号 3.字符串拼接+号 4.字符串内拼接`${变量名/其他数据类型}` 5.反斜杠\可以换行
undefired 未定义型:变量定义了但是没有赋值时,值只有undefined。
boolean 布尔型:只有true false null 空对象 Object 对象
获取变量数据类型:typeof 变量名 typeof(变量名) typeof嵌套结果都是string
8/4
数据类型转换
string 其他类型转换为字符串类型:
1.其他类型变量 .toString() 2.String(其他数据类型) number/boolean都有toString() null和undefined没有toString 区别:toString不能转换null和undefined
number 其他类型转换为数字类型:
1.number(其他数据类型)
2.parseint()转换成整数类型 从字符串的第0个一直往后转,直到遇到非数字的字符停止,第0个是非数字就是NaN(非数字)。
3.parsefloat() 转成浮点数(小数点)
特殊值:
NaN:not a number 非数字; infinity:无穷;
Number.MAX_SAFE_INTEGER :最小值
Number.MAX_VALUE:最大值
boolean其他类型转换成布尔型:
1.Boolean(其他类型)。 2.转换boolean为false的几种情况:0 、' '、NaN、null、undefined、false 其他类型都是true
运算符与表达式
什么类型的数据 运算得到的结果类型
算数运算符:+、-、*、/、%、++、--
+:数字型,字符串拼接 结果是number/string
-、*、/:数字两边都有非数字:结果是NaN
++/--:只有一端有变量,可以写在前和后,表示自增和自减,写在前表示先自增后取值,写在后表示先取值后自增 a++ a=a+1。
%:模余(取余)10%3=1
赋值运算符:
= += -= *= /= 左边是变量,右边是数据/变量 没有结果
比较运算符:
> < >= <= !=(不等于) == ===
左边是任意数据,结果是boolean
== 只比较值是否相等,不比较类型 Symbol不管== ===都是flase
=== 比较值和类型是否相等
逻辑运算符 :
&&(与) ||(或) !(非)
左边两边是Boolean类型,数据或者结果是Boolean类型的表示,结果是Boolean类型
数据1&&数据2:当数据1转为Boolean是true时,取值为数据2(一假则假)
数据1 | | 数据2:当数据1转为Boolean是true时,取值为数据1(一真则真)
!数据:数据先把隐式转为Boolean类型,再取反。num=!true//结果false
三元运算符:
Boolean类型数据,结果是Boolean类型的表达式获其他数据类型(隐式转换)?值1:值2 问号前的结果是true时,取值1,否则取值2.
8/5
表达式:能得到结果的
1.使用变量 2.算数、比较、逻辑、三元运算 3.对象的的调用
布尔值表达式:
结果是布尔型的或者隐式转换、强转换得到boolean类型的
分支值循环结构:
分支结构:
1. if(布尔值表达式){
表达式为true时,走花括号中的代码,为false往后判断
} else if (布尔值表达式){
表达式为true时,走花括号中的代码,为false往后判断
}else{
当前的条件都不满足时,走else
}
从上往下判断,符合条件时停止判断
2.switch(key){
case value://情况
break;
case value://情况
break;
dufault:
类似else前边的情况都不满足时走
break;
}
key和value比较是=== 数值和数据类型要相等
key支持的数据类型是:基本的数据类型
块级作用域:
1.分值循环结构的花括号也叫代码块
2.在代码块中用var定义变量,会预处理,在外也能用
2.在代码中let、const、定义变量,只能在代码中定义后用
4.少用var定义,用let定义