JavaScript对象学习
目录:
1、对象、属性:
2、创建新对象:
3、Number对象:
4、date对象:
5、String对象:
6、练习:
1、对象、属性:
在JavaScript中所有事物都是对象,字符串、数字、数组、日期,等等。
在 JavaScript 中,对象是拥有属性和方法的数据。
属性是与对象相关的值。方法是能够在对象上执行的动作。
2、创建新对象:
①定义并创建对象的实例
②使用函数来定义对象,然后创建新的对象实例
3、Number对象:
答:(1)JavaScript只有一种数字类型,可以使用也可以不使用小数点来书写数字。所有数字均为64位。
(2)NAN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
(3)方法:
①toString:把数字转换为字符串,使用指定的基数。
②toLocaleString:把数字转换为字符串,使用本地数字格式顺序。
③toFixed:把数字转换为字符串,结果的小数点后有指定位数的数字。
④toExponential:把对象的值转换为指数计数法。
⑤toPrecision:把数字格式化为指定的长度。
⑥valueOf:返回一个Number对象的基本数字值。
代码示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>j1</title>
</head>
<body>
<script>
var i = 128.1234;
document.write(i.toString(2) + ' 二进制<br/>');
document.write(i.toString(4) + ' 四进制<br/>')
document.write(i.toLocaleString() + ' 本地格式输出<br/>');
document.write(i.toFixed(5) + ' 保留五位小数输出<br/>');
document.write(i.toExponential(8) + ' 保留八位小数的指数计数法输出<br/>');
document.write(i.toPrecision(4) + ' 指定长度输出<br/>');
document.write(i.valueOf());
</script>
</body>
</html>
运行结果:
图3.1 截图1
4、date对象:
答:(1)格式:var myDate = new Date();
(2)Date对象用于处理日期和时间。
(3)日期对象有初始值,当前电脑系统时间。
(4)主要方法:
①get/setDate():返回/设置日期
②get/setFullYear:返回/设置年份,用四位数表示
③get/setYear:返回/设置年份
④get/setMonth:返回/设置月份。0:1月,11:12月,所以加一
⑤get/setHours:返回/设置小时,24小时制
⑥get/setMinutes:返回/设置分钟数
⑦get/setSeconds:返回/设置秒钟数
⑧get/setTime:返回/设置时间(毫秒为单位),距1970年1月1日之间的毫秒数。
代码示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>j2</title>
</head>
<body>
<script>
var myDate = new Date();
var minutes = 60 * 1000;
var hours = minutes * 60;
var days = hours * 24;
var years = days * 365;
document.write("距离1970年1月1日已经过去了" + (myDate.getTime() / years).toPrecision(4) + "年<br/>");
document.write("获得时间:" + myDate.getFullYear() + "年" + (myDate.getMonth() + 1) + "月" + myDate.getDate() + "日<br/>");
myDate.setYear(2011);
myDate.setMonth(1,22);
document.write("获得修改后的时间:<br/>" + myDate.getFullYear() + "年" + (myDate.getMonth() + 1) + "月" + myDate.getDate() + "日" + myDate.getHours() + "时" + myDate.getMinutes() + "分" + myDate.getSeconds() + "秒<br/>");
</script>
</body>
</html>
运行结果:
图4.1 截图2
5、String对象:
(1)String对象用于处理文本。
(2)语法:①new String(s)②String(s)
(3)常用方法:
①取字符串长度:s.length
②返回指定位置的字符:s.charAt(index)
③返回指定的字符串首次出现的位置:s.indexOf(substring,startpos)
④字符串分割:s.split(separator,limit),separator为必需,从该参数指定的地方分割stringObject,第二个为可选参数,可指定返回数组的最大长度。返回值为一个字符串数组。
⑤提取字符串:s.substring(startPos,stopPos),不包括stopPos
⑥提取指定数目的字符:s.substr(startPos,length)
代码示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>j3</title>
</head>
<body>
<script>
var str = "hello world Remoa!";
document.write("该字符串为" + str + "<br/>");
document.write("1、字符串长度:" + str.length + "<br/>");
document.write("2、该字符串位置为6的字符:" + str.charAt(6) + "<br/>");
document.write("从第六个字符到第八个(不包括八)为:" + str.substring(6,8) + "<br/>");//不包括8
document.write("3、从下标为6的字符开始(0开始计算),取五个字符出来:" + str.substr(6,5) + "<br/>");//从下标为6的字符开始(0开始计算),取五个字符出来
document.write("4、第一个l出现的位置:" + str.indexOf("l") + "<br/>");
document.write("5、第一个k出现的位置:" + str.indexOf("k") + "<br/>");//不存在,则返回-1
document.write("6、从l处分割字符串:" + str.split("l") + "<br/>");
document.write("7、从o处分割字符串,返回数组的最大长度为3:" + str.split("o",3) + "<br/>");//返回数组的最大长度为3
var arr = new Array();
arr=str.split("");
document.write("8、将数组分割为字符串:" + arr);//将字符串分割为字符
</script>
</body>
</html>
运行结果:
图5.1 截图3
6、练习:
1、请写一个replaceAll方法,能实现全部替换功能,如“abcda” 把a替换成1则返回1bcd1。
2、请写一个查找子字符串的方法,如果能找到返回true,否则返回false。
代码示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>homework</title>
<script>
var s = "Hello world Remoa";
function replaceAll(){
var s1 = s.replace(/o/g, "2");
document.write(s1);
}
function search1(){
if(s.indexOf("Remoa") != -1){
document.write("true");
}
else {
document.write("false");
}
}
function search2(){
if(s.indexOf("remoa") != -1){
document.write("true");
}
else {
document.write("false");
}
}
</script>
</head>
<body>
<p>有一个片段p,把里面的o全部替换为2</p>
<button type="button" value="v1" οnclick="replaceAll()">点我实现</button>
<p>Hello world Remoa</p>
<p>查找该片段里面的Remoa以及remoa</p>
<button type="button" value="v1" οnclick="search1()">点我实现1</button>
<button type="button" value="v1" οnclick="search2()">点我实现2</button>
</body>
</html>
运行结果:
图6.1 截图4
图6.2 截图5