1- 什么是变量?
用于暂时存放数据的容器,且值可以改变
2- 存放那些数据?
JavaScript的数据类型 --- 7种
3- 定义变量的格式
1- 定义变量并且赋值
var 变量名= 变量值
2- 定义变量未赋值
var 变量名;
3- 同时定义多个变量并赋值
var 变量名1=变量值1,变量名2=变量值2......
4-同时定义多个变量不赋值
var 变量名1,变量名2....
定义函数:
function 函数名(){
代码块
}
调用:
函数名();
4- 数据类型的值有哪些?
基本数据类型:
数值:0-9组成的任何数值
字符串:通过""或者 '' 定义的数据都是字符串
布尔:true真,false假
undefined:undefined 未定义
null:null 空值、空对象 注意:类型:Object
引用数据类型:
对象:Object
数组:array
函数:function
5.JS输出语句
` 打印到控制台: console.log()
打印内容到页面: document.write
警告窗: alert
警告输入窗: prompt
确认窗口: confirm
算数运算符
+ 对两个值进行加法运算并返回结果
- 对两个值进行减法运算并返回结果
* 对两个值进行乘法运算并返回结果
/ 对两个值进行除法运算并返回结果
% 对两个值进行取余运算并返回结果
- 除了加法以外,对非Number类型的值进行运算时,都会先转换为Number然后在做运算。
- 而做加法运算时,如果是两个字符串进行相加,则会做拼串操作,将两个字符连接为一个字符串。
- 任何值和字符串做加法,都会先转换为字符串,然后再拼串
转布尔型为假的几种情况:
其他数据类型转为布尔类型时值为false的情况:
数值:0 、0.0 、NaN
字符串:"" ''空字符串
null
undefined
数值型:
转换为Number
- 方式一(强制类型转换):
- 调用Number()函数
- 例子:
var s = "123";
s = Number(s);
- 转换的情况:
1.字符串 --> 数字
- 如果字符串是一个合法的数字,则直接转换为对应的数字
- 如果字符串是一个非法的数字,则转换为NaN
- 如果是一个空串或纯空格的字符串,则转换为0
2.布尔值 --> 数字
- true转换为1
- false转换为0
3.空值 --> 数字
- null转换为0
4.未定义 --> 数字
- undefined 转换为NaN
调用parseInt()或parseFloat()
这两个函数专门用来将一个字符串转换为数字的
parseInt()
可以将一个字符串中的有效的整数位提取出来,并转换为Number
例子:
var a = "123.456px";
a = parseInt(a); //123
如果需要可以在parseInt()中指定一个第二个参数,来指定进
parseFloat()
可以将一个字符串中的有效的小数位提取出来,并转换为Number
例子:
var a = "123.456px";
a = parseFloat(a); //123.456
If判断:
案例:if(判断体){
判断后为真的执行的条件
}else{
判断后为假的执行的条件
}
Switch转换:
语法:
switch(条件表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
Case:表达式
Break:断点
Default:所有条件都不符合后执行的条件
Switch执行流程:
switch...case...语句在执行时,会依次将case后的表达式的值和switch后的表达式的值进行全等比较,如果比较结果为false,则继续向下比较。如果比较结果为true,则从当前case处开始向下执行代码。如果所有的case判断结果都为false,则从default处开始执行代码。
JS的三种循环
For循环:
语法格式: For(初始化语句; 循环条件;循环增量){
循环体代码
}
执行顺序: 执行循环的初始化语句(例如设置循环变量的初始值),然后检查循环条件。如果循环条件为真,执行循环体中的代码
While循环:
语法格式: 循环变量
While(循环条件){
循环体代码
循环加减运算
}
执行顺序: while循环首先检查循环条件。如果循环条件为真,执行循环体中的代码
Do while循环
语法格式: 循环变量
Do{
循环体代码
循环加减运算
}while(循环条件)
执行循环: do…while循环首先执行循环体中的代码,然后再次检查循环条件。如果循环条件为真,继续执行循环体中的代码
逻辑与或非:
逻辑与: &&
真真为真 有假为假
逻辑或: ||
假假为假 有真为真
逻辑非 !
真亦假 假亦真
自增自减口令:
加加++ : 加加在前先运算在输出
加加在后先输出在运算
减减-- : 减减在前先运算在输出
减减在后先输出在运算
数组方法:
push
作用:追加
语法格式:
var 返回值 = 数组名.push(添加的内容)
返回值:添加后的数组长度
参数:添加的数组元素
pop -- 末尾删除
作用:末尾删除
语法格式:
var 返回值 = 数组名.pop()
返回值:删除的数组元素
参数:无
unshift -- 头部插入
作用:头部插入
语法格式:
var 返回值 = 数组名.unshift(添加的内容)
返回值:添加后的数组长度
参数:添加的数组元素
shift -- 首位删除
作用:首位删除
语法格式:
var 返回值 = 数组名.shift()
返回值:删除的数组元素
参数:无
reverse
作用:反转
语法格式:
var 返回值 = 数组名.reverse()
返回值:反转后的数组【修改原数组】
参数:无
join
作用:拼接字符串
语法格式:
var 返回值 = 数组名.join(拼接的字符)
返回值:拼接后的字符串【不会修改原数组】
参数:拼接的字符
forEach
作用:遍历数组
语法格式:
数组名.forEach(回调函数)
返回值:无
参数:回调函数
function(item,index,arr){
参数1:item -- 数组元素
参数2:index -- 数组下标
参数3:arr -- 数组
}
Array.isArray()
作用:验证是否是一个数组
语法格式:
var 返回值 = Array.isArray(变量名)
返回值;
是数组 --- true
不是数组 --- false
参数:验证的数据的变量名
filter
作用:过滤数组
语法格式:
数组名.filter(回调函数)
返回值:过滤后的新数组【不改变原数组】
参数:回调函数
function(item,index,arr){
参数1:item -- 数组元素
参数2:index -- 数组下标
参数3:arr -- 数组
}
map -- 映射 变更数组的元素
语法格式:var 新数组 = 数组名.map(function(数组下标){
代码体
})
参数:
参数1:数组下标
返回映射后的数组
reduce -- 计算累加和
语法格式
参数:
参数1:数组元素
参数2:数组下标
返回:返回累加后的字符串
sort -- 排序
参数:
参数1:数组元素
参数2:数组下标
返回:排序后的数组
splice -- 删除、添加、替换
语法格式:
数组.splice(删除值,添加值,替换值)
参数:
参数1:删除
参数2:添加
参数3:替换
返回:返回改变后数组
常用的字符串方法:
属性:
length
作用:获取数组或者字符串的长度
语法格式:
变量名.length
返回:长度
方法:
charAt(index)
作用:返回指定位置的字符
语法格式:
var 返回值 = 变量名.charAt(参数)
返回值:指定位置的字符
参数:下标、索引
注意:字符串中第一个字符的下标为0.如果index不在0与str.length之间,则该方法返回一个空字符串
charCodeAt(index)
作用:返回指定位置的字符的Unicode编码
语法格式:
var 返回值 = 变量名.charCodeAt(参数)
返回值:指定位置的字符的Unicode编码
参数:下标、索引
注意:
字符串中第一个字符的下标为0.如果index是负数,或大于等于字符串的长度,则charCodeAt()返回NaN
fromCharCode(Unicode编码)
作用:返回对应的字符
语法格式:
var 返回值 = String.fromCharCode(参数)
返回值:返回对应的字符
参数:Unicode编码
replace()
作用:替换指定字符串内容
语法:字符串.replace( );
括号内需要传入参数:
第一个参数指的是要替换的字符串
第二个参数指的是用来替换的字符串
返回值:返回一个新的字符串
split()
作用:用指定字符分隔字符串
语法:字符串.split( );
括号内需要参数:分割的指定字符
结果:返回一个分割字符串后的数组
concat()
作用:连接两个或多个字符串【数组】
语法:字符串.concat(拼接的字符或者数组 );
括号内需要参数:需要拼接的字符串、或者数组
结果:返回一个新的字符串 或者新的数组
indexOf()
作用:返回某个指定字符在字符串中首次出现的位置
语法:字符串.indexOf( );
括号内需要参数:需要检测的字符
结果:返回检测字符首次出现的下标,如果该字符不存在,则返回-1
lastIndexOf()
作用:返回某个指定字符在字符串中最后一次出现的位置
语法:字符串.lastIndexOf( );【从后往前搜索】
括号内需要参数:需要检测的字符
结果:返回检测字符最后次出现的下标,如果该字符不存在,则返回-1
作用:将字符串转换为大写
语法:字符串.toUpperCase( );
toLowerCase()
作用:将字符串转换为小写
语法:字符串.toLowerCase( );
slice(开始的位置,结束的位置之前)
作用:截取数组 字符串
语法格式:
var 返回值 = str.slice(开始的位置,结束的位置之前)
返回值:截取后的字符串
参数:
正常:
参数一:开始的位置
参数二:结束的位置之前
=============参考===============
特殊:
一个参数时:
正数:从开始的位置截取到最后
负数:从末尾截取到最后
二个参数时
正数:开始的位置到结束的位置之前
负数:开始的位置 到从后往前数之前
============================
注意:
1- 如果省略第二个参数 则会截取到最后
2- 如果参数为负数 则从后往前截取
substring()
作用:用于提取字符串中介于指定下标之间的字符
语法:字符串.substring( );
括号内需要传入参数:不能是负数负数默认为0,如果第一个参数大于第二个参数时自动交换位置
第一个参数指的开始位置的下标
第二个参数指的结束位置的下标
结果:返回一个新的字符串
substr()
作用:用于提取字符串中介于指定下标之间的字符
语法:字符串.substr( );
括号内需要参数:
第一个为要删除内容的开始位置的下标
第二个为要删除的长度
结果:返回一个新的字符串
函数:
函数的语法格式:
function 函数名(形参){
代码体
}
函数名(实参)
函数:可重复使用且具有特定功能的代码块
return 需要返回的值;
调用函数:
函数名(需要填入的实参)
形参与实参:
1.形参:形式上的参数,由设计者加入
2.实参:实际调用时传参数, 由使用者传入, 实参会赋值给形参
3. 形参可以有多个,用逗号分隔, 形参与实参一一对应
函数是 arguments 对象
Arguments用于接收实际调用参数传入的所有的实参,组成数组