数据类型转换
强制/显式数据类型转换
-
转成字符串类型的
- toString() 转换除 Null 和Undefined 的
- String() 转换任意类型的
-
转成数值类型的
-
parseInt() —字符串转换为数值 转换整数
-
parseFloat() —字符串转换为数值 转换小数
-
Number() — 任意数据类型转换为数值
-
单词补充: parse 解析 int 整数 float 小数
-
-
转成布尔类型的
- Boolean()
- “” null undefined NaN 0 -0 false
- 只有这7个值进行布尔转换为false,其余都为true
- Boolean()
隐式数据类型转换
1. + 字符串拼接,只要有一边是字符串,
2. - 计算过程中字符串 - 数值
运算符
算术运算符 + - * / % ++ –
- + 两个作用,一是正常加法运算 二是字符串拼接,只有=有一边是字符串,那就是拼接
- % 求余、求模 – 除法运算的余数
- ++ 加一的操作
- – 减一的操作
- a++ 先赋值后自增 ++a 先自增后赋值
跳转语句 - 与循环语句搭配使用
- break 终止, 结束整个循环
- continue 继续, 跳过当次循环,继续下一次循环
while 与 dowhile
- while(条件){循环体} 条件为真,执行,条件为假,结束循环
- do{循环体}while(条件) 无论条件真假,至少先执行一遍
数组:
- push() 末尾添加元素,一个或多个
- unshift() 开头添加一个或多个元素
- pop() 末尾删除一个
- shift() 开头删除一个
- splice() 添加、删除、替换
- reverse() 倒序
- sort() 排序,注意参数是个函数
- concat() 数组拼接,
- join() 数组连接成字符串,可有参数
- slice() 截取,从开始下标截取到结束下标,不包括结束下标对应的值
- indexOf() 查找元素在数组中第一次出现的位置- 没有,返回-1
- lastIndexOf()查找元素在数组中最后一次出现的位置- 没有,返回-1
数组的检测
- 要检测的对象 instanceof Array
- Array.isArray(要检测的对象)
字符串:
字符串的方法
-
charAt(index) 返回指定位置处的字符
-
concat() 字符串拼接 一般+
-
split() 按指定的参数切割字符串: 字符串切割成数组
-
replace(A,B) B替换 A
-
search() - 与indexOf()方法类似 获取字符在字符串中第一次出现的位置 - 找到返回下标,找不到 -1
-
match() 匹配 匹配字符在字符串中第一次出现结果, 找到返回数组,找不到返回null
-
trim() 去除字符串左右的空格
-
toUpperCase() 转换为大写
-
toLowerCase() 转换为小写
-
slice() 从开始下标截取到结束下标,不包括结束下标
-
substring() 介于两个下标之间的字符,参数不能为负数
-
substr() 从指定下标开始的指定数量的字符
-
indexOf() 获取某个字符或者字符串片段首次出现的位置
-
lastIndexOf() 获取某个字符或者字符串片段最后一次出现的位置
Math(算数)对象
- 作用是:执行常见的算数任务
Math对象的方法
- abs() 返回数的绝对值
- pow(x,y) 返回x的y次幂
- sqrt() 返回数的平方根
- max() 返回几个数中最大值
- min() 返回几个数中最小值
- ceil() 向上取整
- floor() 向下取整
- round() 四舍五入
- random() 返回0-1之间的随机数,包括0不包括1
随机数公式
- Math.random()*(最大值-最小值)+最小值 – 包括最小值,不包括最大值
随机整数公式 - 特别重要
- parseInt()/ Math.floor()
- Math.floor(Math.random()*(最大值-最小值+1)+最小值)
- 随机生成0-num之间的整数,直接*(num+1) , 0-255 直接乘以256
日期格式:
日期对象
- 概念: js内置对象,用来处理日期和时间
日期对象的创建
- 创建当前的日期对象 new Date();
- 创建指定的日期时间对象 new Date(‘2018 02 05 09:34:56’);
获取日期对象的方法
- getFullYear() 从 Date 对象以四位数字返回年份。
- getMonth() 从 Date 对象返回月份 (0 ~ 11)。
- getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
- getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。
- getHours() 返回 Date 对象的小时 (0 ~ 23)。
- getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
- getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
- getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。 煤勒赛啃滋
- getTime() 返回 1970 年 1 月 1 日 至今的毫秒数。
设置日期对象的方法
- setFullYear() 设置 Date 对象中的年份(四位数字)。
- setMonth() 设置 Date 对象中月份 (0 ~ 11)。
- setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
- setHours() 设置 Date 对象中的小时 (0 ~ 23)。
- setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
- setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
- setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
- setTime() 方法以毫秒设置 Date 对象。
日期对象转换为字符串的方法
- toLocaleString() 据本地时间格式,把 Date 对象转换为字符串。
- toString() 把 Date 对象转换为字符串。
定时器
- JavaScript 提供定时执行代码的功能,叫做定时器(timer)
间歇调用定时器 - setInterval()
- 指定某个任务每隔一段时间就执行一次,也就是无限次的定时执行。
- fun|code 函数名或代码
- 推迟执行的毫秒数
- clearInterval(计时器名称) 取消对应定时器的函数
超时调用:指定某个任务在一段时间后执行一次,仅执行一次 (一次性定时器)
- setTimeout(fun|code,delay)
- setTimeout 接受两个参数:
- 1.fun|code 函数名或代码
-
- 推迟执行的毫秒数
- clearTimeout(计时器的名称) 取消对应定时器的函数
BOM:
BOM
- 浏览器对象模型,用来进行窗口与窗口之间的通讯.
BOM的顶层对象 window
- 脚本中的全局对象window
- 全局变量和全局的方法相当于是window的属性和方法
- 默认window不写的
window的五个子对象
- document 文档
- history 历史记录相关的信息
- location 地址栏相关的信息
- navigator 浏览器相关的信息
- screen 电脑屏幕相关信息
window的方法和属性
- innerWidth 浏览器可视区域的宽
- innerHeight 浏览器可视区域的高
- open() 打开页面
- close() 关闭当前页面
- alert() 警告框
- confirm() 确认框
- prompt() 输入提示框
screen 屏幕
- screen.width 屏幕宽-电脑
- screen.height 屏幕高-电脑
navigator 浏览器的相关信息
- userAgent 用户代理信息
- 判断客户端来源
if(info.indexOf('Mobile') == -1){
alert('pc端')
}else{
if(info.indexOf('Android') !=-1){
alert('安卓')
}else if(info.indexOf('iPhone') !=-1){
alert('苹果')
}else{
alert('其他')
}
}
history 包含用户(在浏览器窗口中)访问过的URL
- length 返回浏览器历史列表中URL的数量
- History对象方法
- history.back() 与浏览器中后退箭头作用相同(加载历史列表中的前一个 URL)
- history.forward() 与浏览器中向前箭头作用相同(加载历史列表中的下一个 URL)
- history.go(number) 根据当前所处的页面,加载 history 列表中的某个具体的页面,
- history.forward() 与浏览器中向前箭头作用相同(加载历史列表中的下一个 URL)
- 如:history.go(-1)与history.back()作用相同;history.go(1)与 history.forward()作用相同;
- history.back() 与浏览器中后退箭头作用相同(加载历史列表中的前一个 URL)
location 用于获取或设置当前页面的地址(URL),并把浏览器重定向到新的页面
-
location.href 设置或返回当前页面完整的URL
-
location.protocol web协议
-
location.host 主机名和URL的端口号
-
location.hostname 主机名
-
location.port 端口号
-
location.pathname 页面的路径和文件名(文件所在路径,区别于href)
-
location.assign(myUrl) 加载新的页面
-
location.reload() 重新加载当前文档,相当于刷新
-
location.replace() 用新的文档替换当前文档
cookie
- cookie是一种 浏览器管理状态 的一个不大于4k的小型文本文件
- 在控制台的Application标签下面 - cookies 里面