引用类型的值(对象)是引用类型的一个实例。
对象是某个特定引用类型的实例。
1. Object类型
大多数引用类型值都是Object类型的实例。
-
创建实例的方式
- new操作符后跟Object构造函数
-
var person = new Object(); person.name = "lila"; person.age = 18;
- 使用对象字面量表示法(属性名也可以使用字符串)
-
var person = { name : "qqy", age : 18 };
2. String类型
- 定义String对象
var str=new String("hello");
- 常用方法
- charAt(int index):返回指定索引处的字符
- indexOf(String str):查找某个子字符串在当前字符串第一次出现的索引
- lastIndexOf(String str):查找某个子字符串在当前字符串最后一次出现的索引
- fontcolor("#00ff00") :设置字符串的颜色标记
- replace(oldstr,newStr):替换功能
- substring(var start,var end):从指定位置开始截取,到指定位置结束(不包含end位置)
- substr(var start,var length):从指定索引处开始截取到指定长度结束
- split(String str):根据指定字符串截取,返回的是字符串数组
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>String类型</title>
<script>
var s1 = new String("hello") ;
var s2 = new String("hello") ;
document.write((s1==s2)+"<br />");
//object.valueOf( ):比较两个对象的原始值(内容是否相同)
document.write("<hr />") ;
document.write((s1.valueOf()==s2.valueOf())+"<br />");
document.write("<hr />") ;
var str = "hellojava" ;
document.write("charAt:"+str.charAt(4)+"<br />") ;
document.write("indexof:"+str.indexOf("a")+"<br />");
document.write("lastindexof:"+str.lastIndexOf("a")+"<br />");
document.write("fontcolor:"+str.fontcolor("#0F0")+"<br/>") ;
document.write("replace:"+str.replace("java","bite")+"<br/>") ;
document.write("substring:"+str.substring(5,9)+"<br/>") ;
document.write("substr:"+str.substr(5,4)+"<br/>") ;
var arr1 = "java-php-python-hadoop-go-r" ;
var strArray = arr1.split("-") ;
//遍历数组
for(var i = 0 ; i <strArray.length ; i++){
document.write(strArray[i]+" ") ;
}
</script>
</head>
<body>
</body>
</html>
3. Array类型
数组的大小可以动态调整,因此不用担心数组下标越界问题,自动扩容
数组的元素可以指定为任意数据类型
-
3.1 创建数组的两种方式
- 使用Array构造函数
-
var arr = new Array(); //创建时设置大小 var arr = new Array(20); //创建时给定数据 var arr = new Array("purple",true,125);
- 使用数组字面量表示法,数组字面量由一堆方括号表示
-
var arr=["purple",true,125];
-
3.2 常用方法
- join(str):通过制定字符串,将数组中的内容用该字符串拼接,返回一个字符串
- reverse():将数组的元素进行反转
-
3.3 原型
若想要追加search(array,target)以及max(array)两个方法到Array内置对象中,需要再JavaScript中给原型对象添加一个方法,然后在内置对象中去创建原型对象,该方法会自动的添加到内置对象中去。
- 属性:
- prototype:解决给内置对象中追加方法的问题
- 特点:
- 给原型对象中追加的方法,会自动追加到内置对象中
- JavaScript中的所有内置对象都有默认的原型属性:prototype
- 格式:
- 内置对象.prototype.方法名=function(参数){...}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>原型</title>
<script>
//查找
this.Array.prototype.search=function(target){
for(var i=0;i<this.length;i++){
if(this[i]==target){
return i;
}
}
return -1;
}
//求最大
this.Array.prototype.max=function(){
var max=this[0];
for(var i=0;i<this.length;i++){
if(this[i]>max){
max=this[i];
}
}
return max;
}
//测试
var arr=[3,24,2,15,5,1];
var index=arr.search(2);
document.write("2的位置在:"+index+"<br />");
var max=arr.max();
document.write("最大值是:"+max);
</script>
</head>
<body>
</body>
</html>
4. Date类型
- 使用new操作符和Date构造函数创建一个日期对象
var time=new Date();
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Date对象</title>
<script>
var date=new Date();
//获取年份
document.write(date.getFullYear()+"年");
//获取月份
document.write(date.getMonth()+1+"月");
//获取月份中的日期
document.write(date.getDate()+"日"+" ");
//获取星期中的日期
document.write("星期"+date.getDay());
document.write("<hr />");
document.write(date.getHours()+":"+date.getMinutes()+":"+date.getSeconds())
</script>
</head>
<body>
</body>
</html>