Javascript内部类

Javascript内部类

基本概念

    JS中本身提供了一些可以直接使用的类,这些类就是内部类。

主要有:

Array,Boolean,Date,Math,Number,String,RegExp

PS:因为所有类都是从Object类中继承而来的,所有上述内部类都有Object的属性和方法。

 

内部类的分类

静态类

基本语法:

类名.属性/方法

 

Math类

    Math是静态类,提供了常用的数学函数和常数,这里写出几个常用的函数。

abs(x)      返回数的绝对值

ceil(x)      对一个数进行上舍入

floor(x)     对一个数进行下舍入

max(x,y)  求x,y中较大的数

min(x,y)  求x,y中较小的数

round(x)  对 x进行四舍五入

random()  一个大于0小于1的16位小数位的数字(含0但是不含1) 

案例:

<script type="text/javascript">
	var a=90.1;
	//ceil 向上取整
    //window.alert(Math.ceil(a));
	//floor 向下取整
    //window.alert(Math.floor(45.99));
	window.alert(Math.round(Math.random()*100));	//随机显示1-100整数。
</script>


动态类

基本语法:

var v = new 类名(参数);

 

Date类

    Date是动态类,提供了对时间的方法。

Date()      返回当前日期和时间

getDate()    从Date对象返回一个月中的某一天

getDay()     从Date对象返回一周中的某一天

getMonth()  从Date对象返回月份

getYear()  从Date对象返回年

getHours()  从Date对象返回小时数

getMinutes() 从Date对象返回分钟

getSeconds() 从Date对象返回秒数   

toLocaleString(); 返回当地格式的时间

案例:

<script type="text/javascript">
	//获取当前日期
	var mydate=new Date();
	window.alert(mydate.toLocaleString());
	window.alert(mydate.getMonth()+1);
</script>

String类

    String是动态类,提供了对字符串的操作。

indexOf()      返回某个字符串值在该字符串中首次出现的位置

split()      把字符串分割为字符串数组 

substr()     提取取从start下标开始的指定数目的字符           //substr(start,length) 从start开始取,取出lenght个字符,如果不够取,则尽量的取,如果没有指定 lenght,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

 

substring()  提取字符串中介于两个指定下标之间的子串           //stringObject.substring(start,stop) 从start开始取,取到stop-1,如果stop参数省略,就代表返回的子串会一直到字符串的结尾。

 

charAt()  返回指定位置的字符

length 属性,可以得到字符串的长度

toString() js中所有内部对象的成员方法,作用是将对象中的数据转成某个格式的字符串,我们在实际运用中在详细介绍

match()/replace()/search() 正则表达式匹配

案例:

<script type="text/javascript">
	var txt="h韩llo中国";
	//document.write(txt.indexOf("worldr"));
    //var arr=txt.split("");
    //document.write(arr);
	//substr(start,length) 从start开始取,取出lenght个字符,如果不够取,则尽量的取
    //var sub=txt.substr(3,3);
	//stringObject.substring(start,stop) 从start开始取,取到stop-1
	//var sub=txt.substring(0,2);
	//charAt(index) 表示取出第几个字符
	//var sub=txt.charAt(3);
	//window.alert(sub);
</script>

Array类

    Array提供了对数组的操作,使用Array对象可以轻松的创建数组,并对数组进行删除、排序和合并等操作。

concat()      连接两个或更多的数组,并返回结果。

sort() 对数组的元素进行排序 

toString()   把数组转换为字符串,并返回结果 

pop()  删除并返回数组的最后一个元素 

push()  向数组的末尾添加一个或更多元素,并返回新的长度

splice()     方法用于插入、删除或替换数组的元素

length 属性,可以得到数组中的元素个数

案例:

<script type="text/javascript">
	//数组的创建
	var arr=new Array();
	//静态设置数据
	arr[0]=23;
	arr[1]="zs";
	arr[2]=567;
	//动态的添加
/*	for(var i=0;i<3;i++){
		
		arr[i]=window.prompt("请输入第"+(i+1)+"数");
	}*/
	//如何删除数组的某个元素 
	//删除第2个元素->下标为1
	//arr.splice(1,1); //第一个1 表示删除第几个元素, 第二个1表示删除1个
	//把一个新的数据"北京",添加到第1元素后面,第二个参数是0,代表插入
	//arr.splice(1,0,"北京");
	//遍历数组
	document.write("***********<br/>");
	for(var key in arr){
		document.write(arr[key]+"<br/>");
	}
	
</script>

PS:可以使用如下方法查看文档对象提供的方法和属性

<script type="text/javascript">
    for(var key in window)	// 可以将window替换成document之类的
        document.write("<br/>"+key)	
</script>

Boolean

    动态类,对布尔值的支持

toString()    根据Boolean对象代表的布尔值返回truefalse字符串

valueOf()    返回Boolean对象中存放的原始布尔值

 

Number类

    数字类,对数值类型的支持。

toString(x)   输出x进制字符串//x可以是2-36之间的一个数

toFixed(x)   输出一个四舍五入到小数点x位的字符串

案例:

<script type="text/javascript">
	var n1=23;//<==> var n1=new Number(23);
	window.alert(typeof(n1));
	window.alert(n1.toString(10));
    //toFixed();把一个数四舍五入到小数点的某一个位置.
	var n=7/3;
	window.alert(n.toFixed(4));
</script>


综合案例:

<html>
	<head>
		<script type="text/javascript">
			// static
			// Math
			window.alert(Math.floor(4.5) + " " + Math.ceil(4.5) + " " +  Math.round(4.5) + " " + Math.random());

			// Dynamic
			// Date
			var date = new Date();
			window.alert(date.toLocaleString() + "     "  + date.getFullYear() + "\\" + date.getMonth() + "\\" + date.getDay() + "   " + date.getHours() + 
				":" + date.getMinutes()  + ":" + date.getSeconds());

			// String
			var str1 = "abc|def|oop";
			var arr = str1.split("|");
			window.alert(arr);
			var str2 = "abcdefg";
			// bcd
			var substr1 = str2.substr(1, 3);
			// cde
			var substr2 = str2.substring(2, 5);
			window.alert("s1:"  + substr1 + " s2:" + substr2);

			var str3 = "adad";
			// d
			window.alert("s3:" + str3.charAt(3));
			// 12
			var str4 = "abc sca afa aaa";
			window.alert("s4:" + str4.indexOf("aaa"));

			// Array
			// add
			var arr2 = new Array();
			arr2[0] = "zs";
			arr2[1] = 10;
			window.alert(arr2.length + " " + arr2);
			arr2.pop();
			window.alert(arr2.length + " " + arr2);
			arr2.push("abcd");
			window.alert(arr2.length + " " + arr2);
		</script>
	</head>
	<body>
	</body>
</html>

PS:《JavaScript权威指南》第三部分JavaScript核心参考对内部类讲得非常详细,w3school上的文档也不错。建议买一本JavaScript权威指南》作为参考书。



----------参考《韩顺平.轻松搞定网页设计(html+css+js)》


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值