js的学习2
1.字符串方法
- indexOf()查找字符所在的位置,返回下标
- lastIndexOf()从后往前找,返回第一个匹配字符的位置索引,如果找不到就返回 -1,开始的位置是index索引号
- charAt()根据位置返回字符
- charCodeAt()根据索引返回指定位置字符的ASCII编码。找不到就返回NaN。这个返回值是0 - 65535 之间的整数。
- concat()拼接字符串
- substr()从start位置开始(索引号),截取length个数的字符串。不改变原字符串
- slice()从start位置开始(索引号),截取到end位置(索引号), 注意end取不到
- subString()从start位置开始,截取到end位置,end取不到。与slice的区别是不接受负值
- split() 字符串转换为数组
- replace() 将字符串中指定内容替换为新内容 不改变原字符串
- replaceAll() 将字符串中指定内容全部替换为新内容
- toLowerCase()转换为小写
- toUpperCase() 转换为大写
- trim() 去掉字符串前后空白
- trimStart() 移除开头空白
- trimLeft() 移除开头空白
- trimEnd() 移除结尾空白
- trimRight() 移除结尾空白
以上是字符串方法,有些使用不熟练需要经常练习,翻阅
2.JSON数据转换
- JSON.stringify()将JS数据转换为JSON数据
- JSON.parse()将JSON数据转换为js数据
3.Math对象
- Math.E
- Math.LN2
- Math.LN10
- Math.LOG2E
- Math.PI
- Math.SQRT2 2的平方根
- Math.SQRT1_2 2的平方根的倒数
- Math.max()获取最大值
- Math.min() 获取最小值
- Math.ceil() 向上取整,不管小数后面是否大于5
- Math.floor() 向下取整,不管小数后面是否大于5
- Math.round() 标准的四舍五入,注意只看小数点后的第一位
- Math.random() 0<=random<1
let random = function(min,max){return Math.floor(Math.random()*(max-min)+min)}
4.Date对象
- getDate() 获取月份的第几天(1-31)
- getMonth() 获取月份(0-11)
- getFullYear() 获取年份
- getDay() 获取一星期中的第几天(0-6)
- getHours() 获取小时数(0-23)
- getMinutes() 获取分钟数(0-59)
- getSeconds() 获取秒数(0-59)
//显示数字时钟的格式时间
function timeGet(){let hour = now.getHours();let minute = now.getMinutes();let second = now.getSeconds();let temp = ''+(hour>12?hour-12:hour);if(hour===0){temp='12'}temp=temp+(minute<10?":0":":")+minute;temp=temp+(second<10?":0":":")+second;temp=temp+(hour>12?" P.M." : "A.M.")return temp;
}
let time=timeGet()
console.log(time)
5.DOM
1. 获取DOM元素
- document.getElementById()通过id获取
- document.getElementsByTagName() 根据标签名获取元素对象
- document.getElementsByClassName() 根据类名获取元素对象集合
- document.querySelector() 根据指定选择器获取元素,并且只返回元素中的第一个
- document.querySelectorAll() 根据指定选择器获取元素,返回元素集合是个伪数组鼠标事件
2.鼠标事件
3.操作元素内容
- innerText 不可以解析html标签
- innerHTML 可以解析html标签
- 元素.classList.add(类名) 追加一个类
- 元素.classList.remove(类名) 删除一个类
- 元素.classList.toggle(类名) 切换一个类
- 元素.className = "类名" 使用此方式修改样式会直接覆盖原来的样式并不会进行保留
4.定时器
- setInterval(函数, 间隔时间) 作用:每隔一段时间调用这个函数 间隔时间单位是毫秒(1s = 1000ms
- clearInterval(变量名) // 关闭定时器
新知识
1. 数据类型转换
toString(进制数) 在toString方法当中写入进制数,那么就会将数字转换为对应进制的数据
例如:
num=1234
num.toString(8) 这个时候1234就会转换为8进制数(2322),如果将8改为16那么1234就会转换为16进制数(4D2)
2.Math数学对象
- toFixed()方法 toFixed方法中写要保留的小数位数
3.日期对象
- toDateString() 星期 月 日 年(时间格式化)
- toTimeString() 时 分 秒 时区
- toLocaleTimeString() 时:分:秒
- toLocaleString() 年/月/日 时:分:秒
- toUTCString() 示例:Tue, 15 Apr 2025 09:31:58 GMT
let random = function(min,max){return Math.floor(Math.random()*(max-min)+min)
}
function creatCode(){//设置默认空的字符串let code = ""//设置长度let codeLength = 4let randomCode = [0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']for(let i=0;i<codeLength;i++){//设置随机范围0-36let index = random(0,36);code += randomCode[index]}return code
}
let rndomCode= creatCode();
console.log(rndomCode);
document.write(`<h1>${rndomCode}</h1>`)
4.数组方法:
- map(回调函数) 返回一个新数组,其中每个元素都是回调函数的结果。
5.属性操作
- setAttribute() 设置元素属性
- getAttribute()获取元素属性
- removeAttriburte() 移除元素属性