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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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




李东海 2019/4/25 13:50:29
目标
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 个回复

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