ACAC ECMAJS总结(主要概念)

这篇博客介绍了JavaScript的基础特性,包括其弱类型属性、变量声明与赋值、函数的定义和使用。强调了在JavaScript中如何处理用户输入的数字进行求和,并讨论了函数参数的传递、函数覆盖和变量作用域等概念。还涉及到数据类型检测、数值运算及转换、布尔值处理等相关知识点。
摘要由CSDN通过智能技术生成
<!-- 
		1、JS语言属于弱类型语言,没有编译阶段,一个变量可以随意
				赋值,什么类型都可以。
		什么是强类型语言?
				编译器强行固定变量的数据类型,不可变
		2、声明:var 变量名; 赋值: var i = true;  var i = 1; var i = "s";
			默认赋什么值?
				var i; 默认是undefined ,在JS中是一个具体存在的值
				alert 输出语句,alert("i = " + i);
		  注意: 没有声明,直接访问是错误的
				alert(a);   报错信息:alert(a); 语法错误,age is  not  defined
				
		3、JS中的函数,类似于java中的方法
			 但注意:JS方法没有返回值(可以是任意类型)
			 格式:
					function 函数名(形参列表){
						函数体;
					}
					或者 function(意思是函数,功能)
					函数名 = function(形参列表){
						函数体;
					}	
		本章案例,写一个函数,对用户输入是int类型的数据进行求和
			-->
	//定义一个函数
		/* 
		注意:为什么这样写是错的?
		var a = document.getElementById("Number01").value;
		var b = document.getElementById("Number02").value;
		
		因为这个a,b是形参,里面是a+b都没有赋值,所以是空的
		要将获取的字符变量代码写在函数体内,
		才能接收到用户输入的信息,从而进行运算
		function sum(a,b){
			alert(a + " + " + b + " ="  + (a+b));
		} */
			
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>JS总结5678章</title>
	</head>
	<body>
		
		
	    <script type="text/javascript">
			
			
			//系统默认用户输入的是字符串
			//要将字符串转变为数字,需要用到parseFloat(字符串)这个函数
			function sum(a,b){
				
				/* var a = document.getElementById("Number01").value;
				var b = document.getElementById("Number02").value; */
				
				var a = parseFloat(document.getElementById("Number01").value);
				var b = parseFloat(document.getElementById("Number02").value); 
				alert(a + " + " + b + " ="  + (a+b));
			} 
			
		</script>
	
		<input type = "text" id = "Number01" /><br />
		<input type = "text" id = "Number02" /><br />
		<input type = "button" value = "计算两个变量的和" οnclick="sum();" />
		
		<!-- 
		错误的写法,根本没有这种写法,而且不简洁
		<input type = "button" value = "计算两个变量的和" 
		οnclick="sum(document.getElementById("Number01"),document.getElementById("Number02");" />
		 -->
	</body>
</html>

	/* 
			1、实参少传,则后面的值默认是undefined
					undefined + undefin = NaN(not a Number)
					NaN也是一个具体存在的值,该值表示不是数字
			2、如果有同名函数,则后面函数会将前面函数给覆盖掉
			3、JS中尽量少使用全局变量
				原因:全局变量在浏览器打开时声明,关闭时销毁
							耗费内存空间,尽量使用局部变量替代
				局部变量生命周期:函数执行时开始,结束时释放
				JS中接受就近原则,访问局部变量时
			注意:只要没有var声明的变量,就算是在方法体中,也是全局变量	
			4、JS中的数据类型:
					1、五种原始类型:String,Number,Boolean,undefined,Null,symbol(ES规范6后新加的)
						一种引用类型:Object以及Object的子类
			5、JS中的运算符:typeof
					作用:动态获取当前变量的数据类型
					typeof 变量名;
						结果可能是六种之一,注意都是小写:
							string,number,boolean,undefined,function,object
							注意:null这里是object类型的
			6、JS中没有equals,只有==
			7、注意:
				Undefined类型只有一个值,就是underfined
				当一个变量没有手动赋值,系统默认赋值undefined
				也可手动赋值为undefined
				
							
			 */
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>总结002</title>
	</head>
	<body>
		<script type= "text/javascript">
		
			
			function test(a,b){
				return a + b;
			}
						 
			alert(test());//不传实参,默认是undefined
			
			alert(test(1) )//后边默认是undefined,会变成字符串拼接
			
			alert(test(1,2));
			alert(test(1,5,3));//多余的参数不会接收
			
			function test2(){
				alert("12123");
			}
			function test2(){
				alert("覆盖掉前面函数");
			}
			test2();
			
			//实现一个函数,只能向这个函数里传number类型
			function sum(a,b){
				if(typeof a == "number" && typeof b == "number"){
					return (a + b);
				}
				alert("输入必须是数字");
			}
			alert(sum(1,"sadfjsi"));
			
			
		</script>
		
	</body>
</html>

/* 
				1、Number类型包括哪些值?
					整数,小数,正数,负数,NaN(不是数字)
					无穷大(Infinity)
				2、isNaN():
					运算结果本来是一个数字,但最后结果算完不是一个数字的话,就是NaN
					
				3、parseInt(),将字符串转换为数字,整数型数字
					  parseFloat(),将字符串转换为数字,可带小数转换
					  Math.ceil(),Math是数字类,表示向上取整
				4、JS中的布尔类型,false true
				Boolean()函数是将非布尔类型转换为布尔类型
					转换原则:
						1、凡是有的就转换为true
							有的:非零,非null,非undefined,非NaN
						2、其余的都是false
				注意:永恒不变的原则:if()里面必须是布尔类型,不是布尔的话给你转换为布尔
					*/
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>总结003</title>
	</head>
	<body>
		<script type = "text/javascript">
			
			var a = 1;
			var b = "阿萨德飞";
			alert(a/b);// 运算过程导致结果不是数字,所以是NaN
			alert(a/0);//无穷大,Infinity
			
			function panDuan(a,b){
				if(isNaN(a) || isNaN(b)){
					alert("参与运算是必须是数字");
					return;
				}
				alert((a + b));
			}
			
			panDuan(12,"adf");
			alert(Math.ceil(123.234));
			
			alert(Boolean(NaN));
			alert(Boolean(12));
			alert(Boolean(0));
			alert(Boolean("afdihs"));
			alert(Boolean(null));
			alert(Boolean(ye));
			alert(Boolean(undefined));
			
		</script>
	
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值