JavaScript(数学对象Math)

一、数学对象

数学对象提供基本的数学函数和常数

数学对象不需要使用new运算符

属性说明
LN10返回10的自然对数
LN2返回2的自然对数
LOG10E返回以10为底的e的对数
LOG2E返回以2为底的e的对数
PI返回圆周率,约3.141592653...
SQRT1_2返回0.5的平方根
SQRT2返回0.2的平方根
E返回自然常量E,约2.718
方法说明
abs(x)返回x的绝对值
cos(x)/acos(x)返回x的余弦/反余弦值
sin(x)/asin(x)返回x的正弦/反正弦值
atan(x)返回x的反正切值
ceil(x)/floor(x)对数进行上/下舍入
exp(x)返回e的指数
log(x)返回数的自然对数(底为e)
max(x,y)/min(x,y)返回x和y中的最大/最小值
pow(x,y)返回x的y次幂
random()返回0-1之间的随机数。(0,1)
round(x)把数四舍五入
sqrt(x)返回数的平方根

示例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			console.log(Math.max(1,20,3,50))//最大值输出结果为:50
			console.log(Math.pow(2,3))//2的3次方
			console.log(Math.random())
			//随机0-10以内的任意数
			//[0,1]*10 [0,11]
			console.log(Math.floor(12.6))//小于这个数的最大整数
			console.log(Math.ceil(12.3))//大于这个数的最小整数
			console.log(Math.round(12.6))//把数进行四舍五入
			console.log(Math.floor(Math.random()*11))
		</script>
	</body>
</html>

动态时钟实现代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<!-- innerHTML:我们可以通过 document.getElementById(‘aa’).innerHTML 
		来获取id为aa的对象的内嵌内容;
		也可以对某对象插入内容,如 document.getElementById(‘abc’).innerHTML=’
		这是被插入的内容’;这样就能向id为abc的对象插入内容。-->
		<span id="time"></span>
		<script type="text/javascript">
			setInterval(function() {
				var date = new Date()
				console.log(date)
				var year = date.getFullYear() //获取年份
				var month = date.getMonth() + 1 //0-11 获取月份
				console.log(year, month)
				var day = date.getDate() //获取日
				console.log(day)
				var hours = date.getHours() //获取小时
				var minutes = date.getMinutes() //获取的是分钟
				var seconds = date.getSeconds() //获取的是秒数
		
				month = month > 9 ? month : "0" + month
				day = day > 9 ? day : "0" + day
				hours = hours > 9 ? hours : "0" + hours
				minutes = minutes > 9 ? minutes : "0" + minutes
				seconds = seconds > 9 ? seconds : "0" + seconds
				var result = year + "年" + month + "月" + day + "日" + hours + ":" + minutes + ":" + seconds
				document.getElementById("time").innerHTML=result
			}, 1000)
		</script>
	</body>
</html>

二、数组对象

数组对象是一系列有序的值的集合,可以存放任何类型的数据,建议只存放一种类型数据

方法说明
concat()将两个数组连接成新数组
join()将数组中的所有元素连接成字符串
pop()移除数组的最后一个元素
push()在数组最后添加一个元素
unshift()在数组开始添加一个元素
reverse()反转数组元素,倒叙
shift()移除数组的第一个元素
silce()获取子数组
splice()插入,删除或替换数组中的元素
sort()对数组排序
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//数组对象
			var arr_1=new Array()
			arr_1[0]="张三"
			arr_1[1]="李四"
			console.log(arr_1.length)
			
			var arr_2=new Array(5)
			arr_2[5]="移动5班"
			console.log(arr_2.length)
			
			var arr_3=["张三","李四","王五","赵六"]
			for(var i=0;i<arr_3.length;i++){
				console.log(arr_3[i])
			}
			
			for(var i in arr_3){
				console.log(arr_3[i])
			}
			
			var str=""
			for(var i=0;i<arr_3.length;i++){
				str+=arr_3[i]+"*"
			}
			console.log(str)
			
			var result=arr_3.join("*")//使用*号分隔符进行分割
			console.log(result)
			arr_3.push("张里")//在数组最后添加一个元素
			for(var i in arr_3){
				console.log(arr_3[i])
			}
			console.log("------------------------------")
			var arr_4=["张三","李四","王五","赵六"]
			arr_4.push("张里")//在数组最后添加一个元素
			arr_4.unshift("张硕")
			arr_4.pop()
			arr_4.shift()
			for(var i in arr_4){
				console.log(arr_4[i])
			}
			
			var result_1=arr_4.splice(1,3)
			console.log(result_1)
			
			var result_2=arr_4.reverse()
			console.log(result_2)
			
			
		</script>
	</body>
</html>

JavaScript不支持多维数组,但可以使用,例如:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			//数组对象
			
			var citys=new Array()
			//citys["河南"]=["郑州","开封","焦作","商丘"]
			citys[0]=["郑州","开封","焦作","商丘"]
			//citys[0][0]
			citys[1]=["武汉","天门","黄石","赤壁"]
			for(var i=0;i<citys.length;i++){
				for(var j=0;j<citys[i].length;j++){
					console.log(citys[i] [j])
				}
			}
		</script>
	</body>
</html>

三、正则表达式

正则表达式

中文字符/^[\u4e00-\u9fa5]{2,4}$/
邮箱/^[0-9a-zA-Z_]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z_]+$/
电话/^(\d{3,4}-)?\d{7,8}$/
月份/^((0?[1,9])|1[0-2])$/
天数/^((0?[1-9])|(1|2)[0-9])|30|31)$/

正则表达式主要用于表单验证,如手机号、邮箱、身份证等

匹配符说明
\b匹配单词边界
\d匹配单个数字字符
\f匹配单个换页符
\n匹配单个换行符
\r匹配单个回车符
\s匹配任何空白符
\t匹配单个制表符
\v匹配单个垂直制表
\w匹配包含下划线的
^、$匹配字符串的开始和结束位置
*匹配前面的子表达式0-多次
+匹配前面的子表达式1-多次
?匹配前面的子表达式0-1次
{n,m}匹配前面的子表达式n-m次
.匹配除 "\n" 之外的任意字符
(x|y)匹配x或y
[]匹配所包含的任意一个字符
[^]匹配非包含的任意一个字符
[-]匹配指定范围内的任意一个字符

一.在使用正则表达式之前你,首先要创建正则表达式对象,JavaScript提供了两种构建方法:

        1.使用正则标识字符串:var reg=/pattern/[flags]

        2.使用内置正则表达式对象:var reg=new RegExp("pattern",["flags"])

pattern表示要使用的正则表达式模式,也就是由的特殊字符或普通字符所组成的表达式。

flags标志位,课选项,有g(全文查找),i(忽略大小写),m(多行查找)三种

二.方法

compile()方法:把正则表达式编译为内部格式,从而执行更快 ,使用新正则去替换旧正则,主要用于提升比较复杂和耗时的处理过程的性能,一般情况下很少用。

exec()方法:用正则表达式在字符串中查找,并返回包含结果的一个数组。不仅用于判断给定的字符串是否匹配,而且会返回匹配结果的详细信息

test()方法:返回一个bool值:它指出被查找的字符串是否匹配给定的模式。使用频繁,主要用于匹配测试。匹配成功返回true,否则返回false。

test()方法的使用:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<input type="text" name="pwd" id="pwd" value="" />
		<input type="button" name="checkpwd" id="checkpwd" value="验证" />
		<script type="text/javascript">
			//正则表达式
			//密码长度至少为6位,且只能是数字、字母、下划线
			document.getElementById("checkpwd").onclick=function(){
				//实现密码的验证
				//编写正则表达式
				var reg=/^[0-9a-zA-Z_]{6,}$/
				var pwd=document.getElementById("pwd").value
				var isPwd=reg.test(pwd)
				if(isPwd){
					alert("密码格式正确")
				}else{
					alert("密码格式不正确")
				}
			}
		</script>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值