JS内置对象(String/字符串对象)

Javascript中,对象是数据,拥有属性与方法
字符串(String)对象
1.创建string对象的语法:(2种)
var str1=new String("hello");
var str2=String("world");

2.属性
  • 访问对象属性的语法:objectName.propertyName
  • length:表示字符串的长度
  • 访问:
  • var x=str1.length;
    console.debug(x);//5

    3.方法(部分)
    3.1查询方法
    • charAt(index)
    •         返回在指定位置的字符,可根据索引位置查找字符
    • charCodeAt(index)
    •         返回在指定位置的字符的Unicode编码,可根据索引位置查找字符编码
    • indexOf(searchvalue,fromindex)
    •         检索字符串,根据字符(串)查找首次出现的位置,如果找不到则返回-1;
              不指定第二个起始位置时从头开始查找,如果指定则从指定位置开始查找;
              searchvalue必需,规定需检索的字符串值;
              fromindex可选,表示在字符串中开始检索的位置
    • lastindexOf(searchvalue,fromindex)
    •         从后向前搜索字符串,根据字符(串)查找最后一次出现位置
    		var str="HelloWorld";
    		var ch1=str.charAt(5);//W,等同于str[5]
    		var ch2=str.charCodeAt(1);//101  e 的ASCII码为101
    		console.debug("ch1="+ch1+";typeof ch1:"+typeof ch1);//string
    		console.debug("ch2="+ch2+";typeof ch1:"+typeof ch2);//number
    
    		var ret=str.indexOf("o");//4
    		console.debug("ret="+ret+";typeof ret:"+typeof ret);//number
    		ret=str.lastIndexOf("o");//6
    		console.debug("ret="+ret);
    		console.debug("--------");
    		// 查找出下列字符串中所有字母o出现的位置
    		var ss="HeoloeWorldGropud";
    		ret=-1;
    		while(true){
    			ret=ss.indexOf("o",ret+1);
    			//ret+1表示从第一个o出现的位置的下一个位置开始检索
    			if(ret==-1){
    				break;
    			}
    			console.debug("o in "+ret);
    		}


    后台运行结果:


    3.2大小写转换
    toLowerCase()
            stringObject.toLowerCase(),将字符串中所有大写字符全部转换成小写字符
    toUpperCase()
            stringObject.toUpperCase(),将字符串中所有小写字符全部转换成大写字符
    3.3截取方法
    substr(star,length)
            star必需,为数值,表示起始位置,如为负数,那么位置从字符串的尾部开始算起(倒数)
            length可选,数值,表示截取的数目,如没有,表示从起始位置到字符串结尾
    substring(start,stop)
            start必需,非负整数,表示起始位置,不支持倒数
            stop可选,非负整数,结束位置,截取的是结束位置的前一个字符
            start与stop大小想法有自动切换的能力
    slice(start,end)
            start起始位置,支持倒数;
            end结束位置,可选,支持倒数,如未提供,截取到结束
            slice无自动交换能力
    	var str="HelloWorld";
    	var s1=str.substr(-5);//World
    	var s2=str.substr(5,3);//Wor
    	console.debug("str:"+str);
    	console.debug("s1:"+s1);
    	console.debug("s2:"+s2);
    	var s3=str.substr(-5,3);//Wor
    	console.debug("s3:"+s3);
    	var s4=str.substr(25,3);//""
    	console.debug("s4:"+s4);
    	console.debug("--------");
    	s1=str.substring(5);//World
    	s2=str.substring(5,8);//Wor
    	console.debug("s1:"+s1);
    	console.debug("s2:"+s2);
    	s3=str.substring(5,2);//自动交换:llo
    	console.debug("s3:"+s3);
    	s4=str.substring(5,35);//
    	console.debug("s4:"+s4);
    	console.debug("--------");
    	s1=str.slice(5);//World
    	s2=str.slice(5,8);//Wor
    	console.debug("s1:"+s1);
    	console.debug("s2:"+s2);
    	s3=str.slice(-5,-2);//Wor
    	console.debug("s3:"+s3);
    	s4=str.slice(-5,-8);//无法自动交换
    	console.debug("s4:"+s4);

    后台运行结果:


    3.4分割方法
    split(separator,howmany)
            separator 必需,用字符串或者正则表达式,从该参数指定的地方分割字符串
            howmany 可选,可指定返回的数组的最大长度,如没有设置该参数,则整个字符串都会被分割,而不考虑其长度
    	var str="tom,mike,jerry,andy";
    	var arr=str.split(",");
    	console.debug("str:"+str);
    	console.debug("arr.length:"+arr.length);
    	console.debug(arr);
    	str=",b,c,d,";
    	arr=str.split(",");
    	console.debug(arr);
    	console.debug("arr.length:"+arr.length);

    后台运行结果:


    3.5静态方法
    fromCharCode(num1,num2,num3..numX)
            从字符编码创建一个字符串;num*必需,一个或多个Unicode值
            不使用对象访问,而是使用类型名称访问的方式
            可看作charCodeAt()的逆方法
    var s1=String.fromCharCode(97,98,99,100);
    	var s2=String.fromCharCode(0x4e00,0x4e01,0x9fa5);
    	console.debug(s1);//abcd
    	console.debug(s2);//一丁X

    后台运行结果:


    猜你喜欢

    转载自15951837734.iteye.com/blog/2305389
    今日推荐