JavaScript基础四-内置对象字符串篇

83 阅读4分钟

什么是对象?

  • JavaScript中所有的事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法;
  • 对象的属性用来反映该对象某些特定的性质,如:字符串的长度、图像的长宽等;
  • 对象的方法是能够在对象上执行的动作,如:表单的“提交”(submit),时间的“获取”(getYear)等
  • JavaScript提供多个内建对象,如:String、Date、Array等等,使用对象前需要先定义 如:
var arr = new Array();    var str = "Hello";

String(字符串)对象

  • String对象用于处理文本(字符串);字符串可以使用单引号或双引号来存储一系列字符 如
"Hello World";String对象创建的方法 new String()

String对象的创建方式

  • var str = new String("Hello World!"); //使用new关键字 var myArr = new Array();
  • var mStr = "Hello World!"; //字面量直接赋值 var myArr = [];

String对象属性

  • 语法 objectName.propertyName; 这里,objectName是创建的对象,propertyName是属性的名称;获取以上字符串长度var length = str.length;
  • 属性 length 字符串的长度 var str = "Hello"; var strLen = str.length; 输出结果为5

String 对象方法

  • 语法 objectName.methodName(); 这里,methodName()是对象所调用方法的名称

  • concat() 连接两个或更多字符串,并返回新的字符串 "Hello".concat("Java","Script");

  • substring(startPos,stopPos) 提取字符串中两个指定的索引号之间的字符,字符串中的索引从0开始,区间左闭右开 str.substring(6,9) 第二个参数可选

  • slice(startPos,stopPos) 提取字符串片段,并在新的字符串中返回被提取的部分,两个参数分别为起始索引(必需)和结束索引位置(可选),区间左闭右开 str.slice(3.8)

  • substr(startPos,length) 从起始索引号提取字符串中指定数目的字符 str.substr(1,5) 从索引1的位置截取长度为5的字符串
    注意: 1> 如果参数startPos是负数,从字符串的尾部开始算起的位置,也就是说:-1指字符串中最后一个字符,-2指倒数第二个字符,依次类推 2> 如果startPos为负数且绝对值大于字符串长度,startPos为0

  • charAt(index) 返回指定索引位置的字符;返回的字符是长度为1的字符串 str.charAt(4)

  • indexOf(searchvalue,startpos) 返回某个指定的字符串值在字符串中首次出现的位置,如果没有找到匹配字符串则返回-1 str.indexOf("Hei",6);

  • lastIndexOf(searchvalue,startpos) 从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置 参数: searchvalue 必需参数,规定需要检索的字符串 startpos 可选的整数参数,规定在字符串中开始检索的位置;它的合法值是0到stringObject.length-1之间的整数;如果省略该参数,则将 从字符串的最后一个字符开始检索

  • replace(searchvalue,newvalue) 在字符串中查找匹配的子串,并替换于正则表达式匹配的子串 str.replace("World","China"); 不会改变原始字符串

  • search(searchvalue) 查找与字符串或正则表达式相匹配的值起始位置(索引),如果没有找到任何匹配的子串,则返回 -1

  • split() 将字符串按照指定的规则分割成字符串数组,并返回此数组(字符串转数组的方法) 这个方法有两个可选参数:split(separator,limit) 第一个参数,为字符串或正则表达式,从该参数指定的位置分割字符串 第二个参数,该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组;如果没有设置该参数,整个字符串 都会被分割,不考虑它的长度 注意:如果把空字符串("")用作separator,那么stringObject中的每个字符之间都会被分割 举例:使用指定的符号来分割字符串

var str = "www.baidu.com";
document.write(str.split(".")+"<br />")
document.write(str.split(".",2)+"<br />")

输出结果: www,baidu,com www,baidu

  • toLowerCase() 把字符串转换为小写
  • toUpperCase() 把字符串转换为大写 var str = "Hello World!"; str.toLowerCase();
  • trim() 去除字符串两边的空白 str.trim();

练习

1. 实现将字符串倒序排列(或反转)的函数<br> 
2. 获取图片后缀的函数<br> 
3. 字符串首字母大写的函数<br> 
4. 截去字符串左侧空格的函数<br> 
5. 截去字符串右侧空格的函数<br> 
6. 截去字符串左右两侧空格的函数<br>
7. 字符串全部替换的函数<br>
8. 已知字符串 str ="name=zhangsan&age=18&classNo=090728",将参数名和参数值转化成对象的键值对的形式  {name :"zhangsan" ,  age:"18" , classNO:"090728"}
9. 已知数组 [ “高铁”,“高德地图”,“高校”,“小学”],将出现“高”字的元素放入一个新的数组,并打印出这个新数组 (等学完正则后再写)
10.写一个函数判断一个字符串是否对称,若对称,返回true,否则返回false