A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wujunliang 初级黑马   /  2019-4-25 13:59  /  771 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文







目标
1. js内置对象
能够说出什么是内置对象
能够根据文档查询指定API的使用方法
能够使用 Math 对象的常用方法
能够使用 Date 对象的常用方法
能够使用 Array 对象的常用方法
能够使用 String 对象的常用方法
2. 简单类型与复杂类型数据
简单类型与复杂类型
堆和栈
简单类型的内存分配
复杂类型的内存分配
简单类型传参
复杂类型传参

1. 内置对象
查阅MDN文档
Math对象:
不是一个构造函数,不需要new来调用,而是直接使用里面的属性和方法。
1)属性:
Math.PI
2)方法:
Math.max()  最大
Math.min()  最小
3)取整的方法:
Math.abs()  -> 绝对值
Math.floor()  ->  向下取整  Math.floor(1.1) // 1    Math.floor(1.9) // 1
Math.ceil()  ->  向上取整...
Math.round()  ->  四舍五入  Math.round(-1.5) // -1  特殊 -.5  往大了取
4)随机数方法:
Math.random()  返回一个随机的小数  范围:[0, 1)
没有参数
得到两个数之间的随机整数  并且  包含这2个整数
function getRandom(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min
}

日期对象:
1)创建方式
Date() 是一个构造函数  必须使用new来调用创建日期对象
var date = new Date()  如果没有参数  返回当前系统的当前时间
2)参数常用的写法
数字型 2019, 04, 22  或者  多用字符串 '2019-04-22 8:8:8'  
3)获得Date总的毫秒数(时间戳):
距离1970年1月1号过了多少毫秒数
valueOf()   、getTime()  
简写(常用):   +new Date()   
H5新增:Date.now()
4)倒计时案例

数组:
1)创建数组的方式
字面量: var arr = [ ]
构造函数:var arr = new Array()
Array(2):代表数组的长度为2
Array(1, 2):代表创建一个[1, 2]的数组
2)检测是否为数组(2种):
1)instanceof   运算符  可以用来检测是否为数组
eg:arr instanceof Array
2)Array.isArray()   H5新增,IE9以上支持
3)添加删除数组元素的方法(原数组发生变化):
1)push():数组末尾添加一个或多个数组元素
返回值:新数组的长度
2)unshift():数组开头添加一个或多个数组元素
返回值:新数组的长度

3)pop():删除数组的最后一个元素
返回值:删除的元素
4)shift():删除数组的第一个元素
返回值:删除的元素
4)翻转数组与数组排序:
1)reverse():反转数组
2)sort():数组排序(冒泡排序)
sort(function(a, b){
return a - b  //升序的顺序排列
return b - a  //降序的顺序排列
})
5)数组元素的索引:
indexOf(数组元素, [起始的位置]):返回该数组元素的索引号
只返回第一个满足条件的索引号
如果在该数组里找不到元素则返回-1
lastIndexOf():从数组的后面往前查找
6)数组去重案例:
遍历旧数组,然后拿着旧数组元素去查询新数组,如果该元素在新数组里面没有出现过,我们就添加,否则不添加
怎么知道该元素有没有存在,利用新数组.indexOf(数组元素) 如果返回-1 就说明新数组里面没有该元素

7)数组转化为字符串:
1)toString():将数组转换为字符串
2)join(分隔符):数组用什么符号来分割转换为数组
课下查询:concat()    slice()    splice()

字符串:
1)基本包装类型:
1)把简单数据类型包装成了复杂数据类型
var temp = new String('哈哈哈')
2)把临时变量的值给str
str = temp
3)销毁这个临时变量
temp = null
2)字符串不可变
看上去是变了,但只是地址变了,字符串还存在
所以不要大量的拼接字符串,占内存空间
3)根据字符返回位置
同数组元素查找方式一样
indexOf(‘要查找的字符’, [起始位置])
lastIndexOf()

4)查找字符串相同字符的索引和出现的次数

5)根据位置返回字符
charAt(index)  根据位置返回字符
charCodeAt(index)返回相应索引号的字符ASCALL值目的:判断用户按下了哪个键
str[index]  根据位置返回字符  H5,ie8支持   常用

6)出现次数最多的字符

7)字符串的方法:
1. concat():链接两个或多个字符串  拼接字符串
2. substr(start, length):截取字符串
3. replace('被替换的字符', '替换为的字符串'):替换字符
4. split('分隔符'):字符串转为数组

简单和复杂 数据类型
简单:基本、值类型
复杂:引用类型

简单数据类型  null  返回的是一个空的对象 object
如果有个变量我们以后打算存储为对象,暂时没想好放啥,这个时候给null
简单数据类型放在 -> 栈里  -> 内存开辟一块空间存放的是值
复杂数据类型放在 -> 堆里  -> (栈里存放地址  ->  地址指向堆里的数据)

简单数据类型传参和赋值
1. 如果变量存储的数据是简单类型,当变量进行传值时,把变量中的值复制一份给另一个变量。
复杂数据类型传参和赋值
1. 如果变量中保存的是复杂数据类型,变量中保存的是数据的地址
2. 当变量在传值时,是把地址传给了另一个变量
3. 连个变量保存的地址是一样的,指向的是同一个对象
4. 当操作了其中一个,另一个也被影响

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马