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=‘新内容’:纯文本输出,不会解析标签