<!--
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><metacharset="utf-8"><title>JS总结5678章</title></head><body><scripttype="text/javascript">//系统默认用户输入的是字符串//要将字符串转变为数字,需要用到parseFloat(字符串)这个函数functionsum(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>
<!DOCTYPE html><html><head><metacharset="utf-8"><title>总结002</title></head><body>
<script type= "text/javascript">functiontest(a,b){return a + b;}alert(test());//不传实参,默认是undefinedalert(test(1))//后边默认是undefined,会变成字符串拼接alert(test(1,2));alert(test(1,5,3));//多余的参数不会接收functiontest2(){alert("12123");}functiontest2(){alert("覆盖掉前面函数");}test2();//实现一个函数,只能向这个函数里传number类型functionsum(a,b){if(typeof a =="number"&&typeof b =="number"){return(a + b);}alert("输入必须是数字");}alert(sum(1,"sadfjsi"));</script></body></html>
<!DOCTYPE html><html><head><metacharset="utf-8"><title>总结003</title></head><body>
<script type = "text/javascript">var a =1;var b ="阿萨德飞";alert(a/b);// 运算过程导致结果不是数字,所以是NaNalert(a/0);//无穷大,InfinityfunctionpanDuan(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>