2021-11-29
一、数组
1.数组:存储一系列有序数据的集合
2.数组数据类型:复杂数据类型(对象类型或引用类型)---Array
3.创建数组
字面量方式创建数组
var 数组名=[] 构造函数创建数组
var 数组名=new Array()
4.访问数组元素
数组名[索引号] 数组的第一个元素索引号从0开始5.数组长度
元素的个数,也叫数组长度 语法: 数组名.length二、数组常用方法
1.push:是用来在数组的末尾追加一个元素
语法: 数组名.push(元素)
2.pop:是用来删除数组末尾的一个元素
语法: 数组名.pop()
3.unshift:在数组前面添加元素
语法:数组名.unshift(元素)
4.shift:删除数组第一个元素
语法:数组名.shift()
5.splice:截取数组中的某些内容,按照数组索引号来截取
语法:数组名.splice(数组索引,删除个数,替换内容)
6.reverse:反转函数
语法:数组名.reverse()
7.sort:排序--默认升序--按字典顺序排序,用于个位数排序
语法:数组名.sort()
8.concat:把多个数组进行拼接
语法:数组名.concat(数组名)
9.join:把数组里面的每一个项内容连接起来,变成一个字符串
语法:数组名.join()
10.indexOf:用来找数组中某一项的索引号,如果找不到,返回 -1
语法:数组名.indexOf(元素)
作用:判断元素是否在数组中,如果返回 -1,表示元素不在数组中
三、数组常用遍历的方法
1.forEach
语法:数组名.forEach(function(item,index,oldArr){
item:数组元素
index:索引号
oldArr:原始数组
})
注:函数参数个数不规定
2.map:返回一个新数组
语法:数组名.map(function(item,index,oldArr){
})
3.filter:把原始数组中满足条件的元素返回新数组
语法:数组名.filter(function(item,index,oldArr){
})
4.find:查找原始数组中满足制定条件的第一个元素,返回是元素
语法:数组名.find(function(item,index,oldArr){
})
5.every:数组中是否每个元素都满足指定条件,全部满足返回true,否则返回false
语法:数组名.every(function(item.index,oldArr){
})
6.some:数组中是否满足指定条件,只要有一个满足,返回true
语法:数组名.some(function(item,index.oldArr){
})
7.reduce:接收一个方法作为累加器,数组中的每一值(从左到右)开始合并,最终为一个值
语法:数组名.reduce(function(s,item,index){
return s+item
},0) 0是函数参数s的初始值
2021-11-30
一、交换数组元素示例var arr=[20,30,10,20]
function swap(i, k) {
var temp = arr[i]
arr[i] = arr[k]
arr[k] = temp
console.log(arr);
}
swap(1,2)
二、冒泡排序
1.思想:相邻两个数,两两比较,如果前一个数比后一个数大,交换位置,一轮之后最大的数沉底,在未排序的数中重复以上操作。
2.示例
j 冒泡次数 i 循环变量 比较次数 1 0 4 2 1 3 3 2 2 4 1 1 元素个数 n n-i-1
var arr = [89, 98, 78, 68, 76]
// j 外层循环表示冒泡排序次数
for (var j = 0; j < 5-1; j++) {
// 比较的次数
for (var i = 0; i < 5-j-1; i++) {
//挨着两个数,两两比较,如果前一个比后一个大,交换位置
if (arr[i] > arr[i + 1]) {
var temp = arr[i]
arr[i] = arr[i + 1]
arr[i + 1] = temp
}
}
console.log(arr)
}
console.log('================');
console.log(arr)
三、选择排序
1、首先在未排序序列中找到最小(最大)元素,存放到排序序列的起始位置(交换位置),再从剩余未排序元素中国继续寻找最小(最大)元素,然后放到已排序序列末尾,重复以操作,直到所有元素排列完毕。
2.示例
var arr = [89, 98, 78, 68, 76]
var n = 5
for (var i = 0; i < n - 1; i++) { // i: 0 , 1
//找最小值索引号
var minIndex = i //minIndex: 0 , 1
for (var j = i + 1; j < 5; j++) { // 让后面的数依次与前面数比较, J :2
if (arr[j] < arr[minIndex]) {
minIndex = j //minIndex:4
}
}
//交换位置
var temp = arr[i]
arr[i] = arr[minIndex]
arr[minIndex] = temp
console.log('第' + (i + 1) + '次选择排序 :', arr);
}
四、数组去重
1、方式一:数组名.indexOf(元素)
2、 思想:遍历数组,获取每个元素,判断是否已经存在新数组中,如果不存在,则放入新数组
3、示例
function arrayToHeavy() {
var arr = [1, 2, 5, 1, 8, 4, 2] // [1,2,5,8,4]
var newArr = [] // 创建一个空数组,存储不重复的数
for (var i = 0; i < arr.length; i++) {
var item = arr[i] //原数组元素 //item: 1,2,5,1,8,4,2
if (newArr.indexOf(item) == -1) {
newArr.push(item) // [1,2,5,8,4]
}
}
console.log(newArr);
}
4、方式二:splice(index,1)
5、示例
function arraySplice() {
var arr = [1, 2, 5, 1, 1, 8, 4, 2] // [1,2,5,8,4]
for (var i = 0; i < arr.length; i++) {
var item = arr[i] //item: 1
for (var j = i + 1; j < arr.length; j++) {
if(item == arr[j]){ // 1-2 1-5 1-1
arr.splice(j,1) // [1, 2, 5, 1, 8, 4, 2]
j--
}
}
}
console.log(arr);
}
arraySplice()
2021-12-01
一、创建字符串
1.创建字符串
var str=new('hell') //构造函数创造字符串
2.访问字符串中的字符:通过字符串索引号访问
3.字符串长度:就是字符串的个数(str.length
二、包装对象
字符串通过点语句访问字符串属性和方法时,会转换为对象,使用完之后又转换回来。这类型称为包装对象
三、字符串常用方法
1、charAt(索引号):返回指定索引位置的字符
2.、indexOf(字符):返回字符所在索引号,存在返回1,不存在返回-1
3、lastIndexOf():返回最后一个字符所在的索引号,不存在返回-1。
4、subString(起始索引,截止索引):截取字符串,不包含截止索引
5、subStr(起始索引,截取个数):截取字符串
6、replace(字符串1,字符串2):替换字符,用字符串2替换字符串1
7.split(‘分隔符’):分割字符串,将分割之后的字符串放入数组
8.concat(‘拼接字符串’):连接字符串,返回连接后的字符串
9.trim:删除字符串空格,返回去掉空格的字符串
语法:数组名.trim()
10.startsWith(‘子字符串’):是否以子字符串开始,是返回true,否返回false
11.endsWith(‘子字符串’):是否以子字符串结束,是返回true,否返回false
12.toUpperCase:小写转大写
13.toLowerCase:大写转小写
14.includes:判断数组是否包含字符串
四、字符串模板
1.字符串模板:用反引号引起来的字符串
2.模板语法:`${变量}`
3.作用:字符串拼接、字符换行
五、遍历简单对象
for-in循环
for(var key in 对象名){
}
访问对象属性的时候,如果属性名是一个变量,使用[]形式访问
2021-12-02
一、内置对象(Math)
1.使用方式:Math.方法名()
2.常用方法
1random():生成0-1之间的随机数 2.ceil():讲一个小数向上取整 3.floor():将一个小数向下取整 4.round():四舍五入 5.abs():取绝对值 6.max():得到传入数中最大值 7.min():得到最小值二、进制转换
1.变量.toString(此参数表示转为几进制) 2.parseInt():可以在字符串转换成数字的时候把字符串当成多少进制转成十进制 语法:parseInt(要转换的字符串,几进制来转换)三、日期对象
1.日期对象:提供的内置构造函数,专门用来获取时间的
2.语法
1.var 变量=new Date() var date=new Date() //获取当前时间 2. var time=new Date('2020-2-10 15:10:6') //创建指定时间的日期对象
四、日期时间常用方法
1.getFullYear():获取年 2.getMonth():获取日 3.getDate():获取日 4.getHours():获取时 5.getMinutes():获取分 6.getSecond():获取秒 7.getDay():获取星期几 8.getTime():格林威治时间
2021-12-03
一、Bom
1.Bom:浏览器对象模型,核心是Window窗口对象
二、window窗口对象
window窗口对象是浏览器根对象,使用他的属性方法或子对象时,可以不加window 1.open():打开一个新窗口 2.close():关闭 3.alert():消息提示框 4.confirm(提示信息):消息确认,返回true和false 5.prompt():输入框,接受输入信息三、定时器
1.
四、
1.setTimeOut():在指定的毫秒数后调用函数或计算表达式
2.语法:
setTimeOut(function(){
//执行代码
},执行时间)
倒计时定时器,到了指定时间执行回调函数中代码,返回定时器对象
3.循环执行定时器:setInterval()
语法:
var 变量=setInterval(function(){
//执行代码
},循环时间)
按照指定循环执行回调函数中代码
clearIntval():结束setInterval定时器
四、
innerHeight和innerWidth属性,获取浏览器窗口的尺寸,包含滚动条
onscroll:是当浏览器感动时出发事件
位置对象:location
location.href:获取当前URL地址栏
location.reload():重新加载当前文档
五、DOM
1.DOM:文档对象模型,使用JavaScript代码操作,操作HTML标签元素属性、样式。内容的能力
2.文档对象:document
3.获取HTML元素
1.id名获取元素:getElementById(‘id名’) 2.class名获取元素:getElementByClassName(‘class名’),返回数组,属于伪数组 3.伪数组与数组的区别: 相同点:length属性,可以通过索引号访问 区别:不能使用push、pop等方法 4.获取标签名:getElementByTagName(‘标签名’) 5.name属性获取(用于from表单):getElementByName(‘name名’) 6.选择器方式获取元素 querySelector():按照选择器方式获取元素 querySelectorAll():按照选择器方式获取元素,返回满足条件的所有元素,伪数组 7.innerHTML=‘新内容’:改变元素内容 8.innerText=‘新内容’:纯文本输出,不会解析标签


京公网安备 11010502036488号