<h3>1.String对象:</h3>
常用方法:
charAt(): 返回指定索引的内容
indexOf(): 返回首次出现指定字符的索引位置
lastIndexOf(): 返回最后出现指定字符的索引位置
fontcolor(): 直接给字符串添加颜色
replace(): 替换指定的字符串
split(): 使用指定字符串切割字符串,返回字符串数组
substring(start,end); 截取字符串,start:开始索引, end:结束索引
substr(strat,[length]) 截取字符串, start:开始索引 length: 截取的字符串长度
var str ="hellojava";
document.write(str.charAt(4)+"<br/>");
document.write(str.indexOf("a")+"<br/>");
document.write(str.lastIndexOf("a")+"<br/>");
document.write(str.fontcolor("#0000ff")+"<br/>");
document.write(str.replace("java","itcast")+"<br/>");
document.write(str.substring(5,9)+"<br/>");
document.write(str.substr(5,4));
字符串的比较
<script type="text/javascript">
var str1 = new String("hello");
var str2 = new String("hello");
document.write("结果:"+(str1==str2)+"<br/>");//比较的是内存地址
//valueOf():该方法返回对象的内容
document.write("结果:"+(str1.valueOf()==str2.valueOf()));//比较的是值
var str1 = "hello";
var str2 = "hello";
document.write("结果:"+(str1==str2)+"<br/>");
</script>
2.Math对象:
常用的方法:
- ceil(): 向上取整。 如果有小数部分的话,直接+1
- floor(): 向下取整。如果有小数部分的话,直接丢失小数部分,保利整数位
- round(): 四舍五入取整。满5进一
- random(): 生成一个随机的0-1的小数 .包含0,不包含1
- max(): 返回最大值
- min(): 返回最小值
3.Date对象:
Date对象没有格式化一说
//创建日期
var date = new Date(); //取当前系统日期时间 java: SimpleDateFormat对象 yyyy-MM-dd 格式化
//document.write(date); //默认格式
//格式: 2015年06月01日 15时12分30秒
//年份
document.write(date.getFullYear()+"年");
//月(0~1)
document.write((date.getMonth()+1)+"月");
//日
document.write(date.getDate()+"日");
//星期
document.write("星期"+date.getDay()+" ");
//时
document.write(date.getHours()+"时");
//分
document.write(date.getMinutes()+"分");
//秒
document.write(date.getSeconds()+"秒");
date练习
<body>
当前的日期为:<span id="dateTip"></span>
</body>
<script type="text/javascript">
function genNewDate(){
//生成一个系统的当前时间,格式:2015-06-01 15:22:30
var date = new Date();
//当前日期时间的字符串
var dateStr = date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds();
//把日期字符串放到span中
//得到span对象
var dateTip = document.getElementById("dateTip"); //读到了没有加载的标签,无法读取的,所以要放在<body>后
//设置span的innerHTMl属性(相当于是<span>标签里的内容)
dateTip.innerHTML=dateStr;
}
//设置定时器,每个多少毫秒调用1次任务(函数)
window.setInterval("genNewDate()",1000);
</script>
4.Array对象
常用的方法:
- join(字符串): 使用指定的字符串,把数组的所有元素连接在一起,最终组成一个新的字符串
- reverse(): 反转数组中的元素
注意:
- 数组的长度会随着元素的添加而变化,不用担心出现索引位置越界的异常。
- js的数组可以存放任意类型的元素。
数组创建:
- 指定数组长度
var arr = new Array(3);
- 不指定数组长度、默认0个元素
var arr = new Array(); - 指定具体内容
var arr = new Array(10,"hello",true); - 不需要new,直接指定内容
var arr = [10,"java",false];
5.自定义对象
定义对象方式一:有参数的构造函数 (推荐)
<pre>
function 对象名称(形式参数){
定义属性
定义方法
}
创建对象:
var 变量 = new 对象名称(实际参数);</pre>
定义人对象
function Person(name,age){ //this: 表示当前调用的对象
//定义属性 赋值
this.name = name;
this.age = age;
//定义方法
this.say = function(){
alert("这个对象的方法");
}
}
//创建人对象
var p = new Person("狗娃",12);
***定义对象方式二: ***无参数的构造函数
<pre>定义对象
function Person(){
}
//创建对象
var p = new Person();
</pre>
//定义对象
function Person(){
}
//创建对象
var p = new Person();
//追加属性
p.name = "狗剩";
p.age = 14;
//追加方法
p.say = function(){
alert("狗剩的函数");
}
定义对象的方式三:使用Object对象。 Object对象可以作为任意对象的模板
//创建对象
var p = new Object();
//追加属性
p.name = "狗蛋";
p.age = 16;
//追加方法
p.say = function(){
alert("狗蛋的函数");
}
定义对象方式四:
var person={
"name":"丁昌江",
"age":22
}
6.原型
原型和原型链貌似很复杂,只谈用法;
每个类都有一个原型对象,可以通过这个原型对象给该对象添加方法
需求:给Array类添加方法search max
<script type="text/javascript">
Array.prototype.search = function (num){
for (var i=0;i<this.length;i++){
if (this[i]==num)
return i;
}
return -1;
}
Array.prototype.max = function (){
var tmp = 0;
for (var i=0;i<this.length;i++){
if (this[i]>tmp)
tmp=this[i];
}
return tmp;
}
var arr = [1,3,6,11,20];
document.write("位置:"+arr.search(3)+"</br>");
document.write("最大值:"+arr.max());
</script>