JavaScript的String对象、Array对象和自定义对象和原型属性

此次的编码均在<script></script>脚本中编写。

一、String对象

1.关于String对象的常用方法

			//关于String对象的常用的方法
			//charAt(int index):返回指定索引处的字符
			//indexOf(String str):查找某个子字符串在当前字符串中第一次出现的索引
			//lastIndexOf(String str):str最后一次出现的索引。
			//fontcolor("颜色值")设置字符串的颜色标记
			//replace(oldstr,newstr):替换功能,并不改变原来的字符串。
			//substring(var start,var end):从指定索引位置开始,到指定位置结束。但不包含end处的字符。
			//substr(var start,var length):从指定索引开始截取到指定长度结束。
			//String对象的:split(根据指定字符串截取),返回的是字符串数组(Array对象)。
			var arr1="java-php-hadoop-go-r-python";
			 var strArr=arr1.split("-");
			//遍历数组
			for(var i=0;i<strArr.length;i++){
				document.write(strArr[i]+"&nbsp;");
			}

2.测试代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>String对象</title>
	</head>
	<script>
	/*  ==与valueOf的测试     */
//		var str1="hello";
//		var str2=new String("hello");
//	//	document.write((str1==str2)+"<br />");//true
//		var str3=new String("hello");
//		document.write((str2==str3)+"<br>");//false
//		document.write((str1==str3)+"<br>");//true
//		document.write((str2.valueOf()==str3.valueOf())+"<br>");//true

	/*charAt(下标)的测试*/
	//	document.write(str1.charAt(2)+"<br />");//l,说明下标从0开始
		
		/*object1.indexOf(object2)  查找object2在object1中第一次出现的位置(返回下标)*/
		var str1="hellozlo";
		var str2="lo";
		document.write(str1.indexOf(str2)+"<br>");//3
		
		/*lastIndexOf(String str):str最后一次出现的索引*/
		document.write(str1.lastIndexOf(str2)+"<br>");//6
		
		/*fontcolor("#00ff00") :设置字符串的颜色标记  颜色标记是标记符号或者英文都可以*/
		document.write(str1.fontcolor("red")+"<br>");
		
		/*replace(oldstr,newStr):替换功能,但并没有改变原来的字符串*/
		document.write("替换后的字符串为:");
		str1=str1.replace("zlo"," world");
		document.write(str1+"<br>");
		
		/*substring(var start,var end):从指定位置开始截取,到指定位置结束: 不包含end位置*/
		//str1:hello world  想得到lo wo
		document.write(str1.substring(3,8)+"<br />");//lo wo
		
		/*substr(var start,var length)*/
		document.write(str1.substr(2,5)+"<br>");//llo w
		
		/*String对象的:split(根据指定字符串截取),返回的是字符串数组(Array对象)。*/
		var str="java-web-html-script";
		var strs=str.split("-");
		for(var i=0;i<strs.length;i++){
			document.write(strs[i]+"&nbsp;");
		}
		</script>
	<body>
	</body>
</html>

结果:

二、Array对象

1.数组对象的特点

     *   1)在js中不用担心数组角标越界问题
     *   2)在js中,数组的元素可以指定任意类型

2.如何创建Array对象

//方式1 :
/*var arr = new Array() ;
//指定元素的内容
arr[0] = "hello" ;
arr[1] = true ;
arr[2] = 'A' ;
arr[3] = 100 ;
arr[4] = 3.14;
arr[5] = new Object();
for(var i = 0 ; i < arr.length ;i ++){
	document.write(arr[i]+"&nbsp;") ;
}
alert(arr.length);*/

//方式2:指定固定长度
/*var arr = new Array(3) ;
arr[0] = 100 ;
arr[1] = "javascript" ;
arr[2] = true ;
arr[3] = 3.14;*/

//方式3:指定具体元素的内容
//推荐直接使用第三种方式:指定具体的元素内容
var arr = ["hello",true ,3.1415926,'A'] ;
/*alert(arr.length);
for(var i = 0 ; i < arr.length ;i ++){
	document.write(arr[i]+"&nbsp;") ;
}*/

3.Array中的函数

//join(str):将数组拼接成一个字符串使用str分隔符号
//reverse():将数组的元素进行反转

测试代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Array对象</title>
	</head>
	<script>
	//方式一:
		var arr=new Array();
		arr[0]="hello";
		arr[1]="java";
		arr[2]="web";
		//方式二:
		var arr2=new Array(3);
		arr2[0]="C";
		arr2[1]="C++";
		arr2[2]="Python";
		for(var i=0;i<arr2.length;i++){
			document.write(arr2[i]+"&nbsp;");
		}
		document.write("<hr />");
		alert(arr2.length);
		//方式三:直接指定具体元素内容
		var arr3=["300","301","302","303"];
		for(var i=0;i<arr3.length;i++){
			document.write(arr3[i]+"&nbsp;");
		}
		alert(arr3.length);
		document.write("<hr />");
		//使用join(str)
		var res=arr2.join("-");
		document.write(res);
		document.write("<hr />");
		//使用reverse()
		arr2.reverse();
		for(var i=0;i<arr2.length;i++){
			document.write(arr2[i]+"&nbsp;");
		}
		document.write("<hr />");
	</script>
	<body>
	</body>
</html>

结果:


 三、自定义对象

  1.自定义对象的方式

	自定义对象
	     1)定义对象
	     2)创建对象
	     
	     a)有参数的方式(类似于java中的有参构造方法)
	      function 函数/对象名(描述当前对象的属性){
	      	   //追加属性
	      	      this.属性名=值;
	      	     //追加方法
	      	     this.方法名 = function(){
	      	     	
	      	     	  ....
	      	     }
	      	      
	      	
	      }
	      
	      var 对象名称 = new 函数名称(实际属性值);

2.测试代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>自定义对象</title>
	</head>
	<!--<script>
		//方式一:定义对象
		function Person(name,age){
			this.name=name;
			this.age=age;
			this.speak=funtion(){
				alert("我会说");
			}
		}
		//创建对象
		var p=new Person("张三",23);
		document.write(p.name+"-"+p.age);
		p.speak();
	</script>-->
	<script>
//方式1:有参构造方式  (第一种用的比较多)
	//定义一个Person对象
/*function Person(name,age){//this:代表Person对象的地址值
	//追加属性
	this.name = name ;
	this.age = age ;
	
	//追加一个方法
	this.speak=function (){
		alert("调用说话的功能...")
	}
}

//创建对象
var p = new Person("张三",20) ;*/

//方式2:无参形式(推荐的)
//定义对象
/*function Person(){
	
}
//创建对象
var p = new  Person();
//追加属性
p.name = "李四" ;
p.age = 22 ;
//追加方法
p.speak =function(){
	alert("调用李四说话的功能") ;
}*/

//方式3:利用object对象,在js中,Object对象是任意对象的模板
//创建一个对象
/*var p = new Object () ;
//追加属性
p.name = "王五" ;
p.age = 18;
//追加方法
p.speak=function(){
	alert("调用王五说英语的功能") ;
}*/

//方式4:字面量值的方式:属于json格式
/**
 * "key1":valu1,
 * "key2":valu2,
 * "...":value3
 */
//json解析: 三种: gson  fastJson json的原生方式
var p = {
	
	"name":"赵六" ,
	"age" :20,
	"speak":function(){
		alert("调用赵六的说话的功能") ;
	}
} ;


//输出属性
document.write("姓名是:"+p.name+",年龄是:"+p.age) ;
//调用方法
p.speak() ;
</script>
	<body>
	</body>
</html>

四、原型属性

js的原型属性:
prototype:解决给内置对象中追加额外的方式
       特点:
        1)原型属性的出现就是为了解决内置对象中追加额外方法用的。
        2)给原型对象中追加的方法,会自动的追加到内置对象中。
        3)js中的所有内置对象都有默认的原型:prototype。   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值