Web前端105天

编程入门 行业动态 更新时间:2024-10-24 06:33:05

<a href=https://www.elefans.com/category/jswz/34/1770958.html style=Web前端105天"/>

Web前端105天

JS进阶day03

目录

前言

一、复习

 二、数组

2.1数组API

2.2 二维数组

三、字符串对象

3.1转义字符 —— \

3.2字符串API

3.3练习

总结


前言

JS进阶day03学习开始


一、复习

 

 二、数组

2.1数组API

  • API: JS下预定义的函数和方法,可以直接调用
  • toString()--将一个数组转为字符串
  • join()--将一个数组转为字符串,可以指定元素之间的分隔符
  • concat(数组...)--拼接数组
  • reverse()--翻转数组元素,返回翻转后的数组,原数组会发生变化
  • slice(start, end)--截取数组元素,start开始的下标,end结束的下标,不包含end本身,end为空会截取到最后,下标为负数表示倒数,返回截取的元素,原数组不会发生变化
  • splice(start, count, v1,v2,..)--删除数组元素,start开始的下标,count删除的数量,count为空删除到最后,下标为负数表示倒数,v1,v2...表示删除后要补充的元素,返回删除的元素,原数组会发生变化。
  • sort()--对数组元素进行排序,默认是按照Unicode编码排列
sort(function(a,b){return a-b  //按照数字从小到大排列//return  b-a  //按照数字从大到小排列
})
// 返回的是排序后的数组,原数组会发生变化
  • push()--在数组的末尾添加元素,返回的数组长度,原数组会发生变化
  • pop()--删除数组末尾的一个元素,返回删除的元素,原数组会发生变化
  • unshift()--在数组的开头添加元素,返回的数组长度,原数组会发生变化

  • shift()--删除数组开头的一个元素,返回删除的元素,原数组会发生变化

  • indexOf()--查找数组中是否含有某个元素,如果存在返回下标,不存在返回-1

  • 其它的API:

    • JavaScript 数组方法

    • Array - JavaScript | MDN

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>数组API</title></head><body><script>/* // 数组转为字符串var arr = ['a','b','c']console.log( arr.toString() )var num = 2console.log( num.toString() )var c = [5,8,6]c.toString()// 如何区分名字相同的方法是否为同一个方法:需要查看调用方法的对象的数据类型是否相同var arr = ['a','b','c']// 数组转为字符串,可以指定元素之间的分隔符console.log( arr.join('') )var arr1 = ['John','Also','周杰伦']var arr2 = ['Anna','Lilly','Joan']var arr3 = ['Hu','Kick','凯立德']// 拼接多个数组console.log( arr1.concat(arr2,arr3) )console.log(arr1)var arr = ['a','b','c','d']// 翻转数组元素console.log( arr.reverse() )// 查看原数组console.log(arr)var arr = ['John','Also','周杰伦','Anna','Lilly','Joan','Hu','Kick','凯立德']// 截取数组元素// console.log( arr.slice(2) )// console.log( arr.slice(2,5) )console.log( arr.slice(-4,-2) )console.log(arr)// 练习:创建数组,包含a~h,每个字母是一个元素,分别截取出bc,f,将截取的两部分拼接成一个新数组。var arr = ['a','b','c','d','e','f','g','h']var arr1 = arr.slice(1,3)var arr2 = arr.slice(-3,-2)console.log( arr1.concat(arr2) )var arr = ['John','Also','周杰伦','Anna','Lilly','Joan','Hu','Kick','凯立德']// 删除数组元素// console.log( arr.splice(2) )// console.log( arr.splice(2,3) )// console.log( arr.splice(-4,2) )console.log( arr.splice(-4,0,'李赫','李婷') )console.log(arr)// 练习:创建数组,包含a~h,每个字母是一个元素,删除de,替换g为m,在下标为1的位置插入z。var arr = ['a','b','c','d','e','f','g','h']arr.splice(3,2)arr.splice(-2,1,'m')arr.splice(1,0,'z')console.log(arr)// 数组排序var arr = [23,9,78,6,45]// 默认按照Unicode编码排列// arr.sort()arr.sort( function(a,b){// console.log(a,b)// return a-b //按照数字从小到大排列return b-a //按照数字从大到小排列} )console.log( arr )var arr = ['John','Also','Dange']// 在数组的末尾添加元素// console.log( arr.push('Anan','Jinjin') )// 删除数组末尾的一个元素// console.log( arr.pop() )// 在数组的开头添加元素// console.log( arr.unshift('Linli','Daily') )// 删除数组开头的一个元素console.log( arr.shift() )console.log(arr)var arr = ['a','b','c','d']// 检测数组中是否含有某个元素(查找元素)console.log( arr.indexOf('f') )*/// 练习:创建数组,包含爱国福、和谐福,如果不含有敬业福,则把该福字添加到数组的最后。最后打印数组var arr = ['爱国福','和谐福']if( arr.indexOf('敬业福')===-1 ){arr.push('敬业福')}console.log(arr)</script></body>  
</html>

2.2 二维数组

  • 数组中的元素还是数组
  • [ [   ],  [   ], [   ] ]
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>二维数组</title></head><body><script>var arr = ['山东省','江苏省','广东省']var city = ['济南','青岛','烟台','南京','苏州','无锡','广州','深圳','珠海']// 二维数组:对一组数据进行分类var city2 = [['济南','青岛','烟台'],['南京','苏州','无锡'],['广州','深圳','珠海']]console.log(city2[0][0])</script></body>
</html>

三、字符串对象

  • 包装对象:目的是为了让原始类型的值像对象一样,具有属性和方法,JS中提供了三种包装对象,分别是字符串对象、数字对象、布尔对象
  • new String()--将一个字符串包装为对象
  • String()--将一个值强制转为字符串
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>字符串对象</title></head><body><script>// 字面量var str1 = '1'// 包装对象var str2 = new String('1')// console.log(str2, typeof str2)// console.log( str1+2, str2+2 )// 将一个值转为字符串var str3 = String(1)// console.log(str3, typeof str3)// arr.toString() //方法必须通过对象来调用// String() //函数可以独立调用</body>
</html>

3.1转义字符 —— \

  • \' --将具有特殊意义的引号转义为普通引号
  • \n--将字符n转义为换行符
  • \t--将字符t转义为制表符,就是多个连续空格(Tab键)
// 转义字符 
// 转为普通引号
console.log('It\'s a dog')
// 字符n转移为换行符
console.log('a\nb')
// 字符t转义为制表符
console.log('a\tb')				
console.log('D:\\WEB2208\\JS')

3.2字符串API

  • length--获取字符串的长度
  • charAt(下标)--获取下标对应的字符,可以使用数组的写法   字符串[下标]
  • indexOf()--查找字符串某个字符串,返回的是找到的第1个的下标,找不到返回-1

  • lastIndexOf()--查找字符串某个字符串,返回的是找到的最后1个的下标,找不到返回-1
  • slice(start, end)--截取字符串,start开始下标,end结束下标,不包含end本身,end为空截取到最后,下标为负数表示倒数
    • 所有的字符串API都不会影响原来的字符串,都是会产生一组新的字符串

  • toUpperCase()--英文字母转大写
  • toLowerCase()--英文字母转小写
  • split( )--将字符串转为数组,需要指定分隔符
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>字符串API</title></head><body><script>/* var str='新play'// 查看字符串长度console.log( str.length )// 字符串在调用属性或者方法的时候,会自动包装为对象console.log( new String(str).length )var str='javascript'// 获取下标对应的字符console.log( str.charAt(1), str[1] )// 练习:声明变量保存字符串javascript,遍历字符串,统计出字符a出现的次数var str = 'javasjcrivpt'// 声明变量,用于计数for(var i=0,count=0;i<str.length;i++){// console.log(str[i])// 如果字符是a,数量加1if(str[i]==='a'){count++}}console.log(count)// 面试题:统计出一个字符串中哪一个字符出现的次数最多,共有几次// 查找字符串中是否含有某个字符串var str='javascript'// 找第1个                  console.log( str.indexOf('a') )// 找最后1个console.log( str.lastIndexOf('a') )// 截取字符串var str='javascript'// console.log( str.slice(4) )// console.log( str.slice(4,7) )console.log( str.slice(-3,-1) )// 练习:截取出文件名称的后缀名var str = 'abc.123.min.jpg'// 查找最后一个.的下标var n  = str.lastIndexOf('.')console.log(n)// 截取后缀名console.log(str.slice(n+1))// 练习:截取出一个邮箱的用户名和域名var str = 'xin123457@qq'// 查找@的下标var n = str.indexOf('@')console.log(n)// 截取console.log(str.slice(0,n), str.slice(n+1))// 英文字母转大小写var str = 'JavaScript'console.log( str.toUpperCase() ) //大写console.log( str.toLowerCase() ) //小写console.log(str)var arr = ['a','b','c']// 数组转为字符串var str = arr.join('-') //'a-b-c'// 字符串转为数组console.log(str.split('-'))*/// 练习:将字符串进行翻转//  abcdef  -> fedcbavar str = 'abcdef'// 把字符串转为数组,每个字母作为一个元素// 将数组进行翻转// 将数组转为字符串console.log( str.split('').reverse().join('') )</script></body>
</html>

3.3练习

  • 练习:将一句英文中每个单词的首字母转为大写,其余字母转为小写
    • hOw aRE YOU  ->  How Are You

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>课后练习</title></head><body><script>//练习:将一句英文中每个单词的首字母转为大写,其余字母转为小写// hOw aRE YOU  ->  How Are Youvar str = 'hOw aRE YOU'// 将字符串转为数组,用空格来分隔var arr = str.split(' ')// 遍历数组,获取每个单词for(var i=0;i<arr.length;i++){// console.log(arr[i])// 截取首个字母,转为大写var f=arr[i].slice(0,1).toUpperCase()// 截取其余字母,转为小写var o=arr[i].slice(1).toLowerCase()// console.log(f,o)// 把转换后的拼接成新单词,然后覆盖之前元素中的单词arr[i]=f+o}// 将数组转为字符串,之间用空格分隔console.log(arr.join(' '))</script></body>
</html>


总结

JS进阶03学习结束

更多推荐

Web前端105天

本文发布于:2024-02-26 21:12:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1703924.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Web

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!