一.JS函数初步1
<!DOCTYPE html>
<html>
<head>
<title>JS函数初步1</title>
</head>
<body>
<!--
语法格式
function 函数名(形式参数列表){
函数体
}
或者
函数名=function(形式参数列表){
函数体;
}
-->
<script type="text/javascript">
var a = 10;
var b = 20;
function sum(a,b){
//a和b都是局部变量,他们都是形参(a和b都是变量名)
alert(a + b);
}
sum(a,b);
</script>
<input type="button" value="快点我" onclick="sum(a,b)" />
</body>
</html>
JS当中的函数在调用的时候参数的类型没有限制,参数的个数也没有限制
二.JS函数初步二
<!DOCTYPE html>
<html>
<head>
<title>JS函数初步2</title>
</head>
<body>
<!--重载:函数名相同,形参列表不同。
在JS当中,如果函数名相同的话,则后面的函数会将前面的函数覆盖掉。
也就是说在JS当中,函数不能重名,没有重载机制。-->
<script type="text/javascript">
function sum(a,b){
alert(a + b);
}
sum(1,2);
sum("jack");//jackundefined,jack赋值给a变量,b变量没有赋值,则系统默认赋值undefined
sum();//NaN(NaN是一个具体存在的值,该值不是数字。即Not a Number)
sum(1,2,3);//结果是3,后面的3是废物
</script>
<input type="button" value="快点我" onclick="sum(a,b)" />
</body>
</html>
三.JS的局部变量和全局变量
<!DOCTYPE html>
<html>
<head>
<title>JS的局部变量和全局变量</title>
</head>
<body>
<script type="text/javascript">
/*
全局变量:
在函数体之外声明的变量属于全局变量,全局变量的声明周期是:浏览器打开时就声明,浏览器关闭时销毁。尽量少用,因为全局变量会一直在浏览器的内存当中,耗费内存空间。
局部变量:
在函数体当中声明的变量,包括一个函数的形参都属于局部变量。
局部变量的生命周期是,函数开始执行时局部变量的内存空间开辟,函数执行结束之后,局部变量的内存空间释放。
局部变量的生命周期较短
当一个变量声明的时候没有使用var关键字,那么不管他在哪声 明,他都是全局变量
*/
function myfun(){
myname = "name";
}
//要先访问函数,否则myname没有
myfun();
alert(myname);
</script>
</body>
</html>
四.JS的数据类型
<!DOCTYPE html>
<html>
<head>
<title>JS的数据类型</title>
</head>
<body>
<!--JS的数据类型有原始类型和引用类型
原始类型:Undefined、Number、String、Boolean、Null
引用类型:Object以及Object的子类
JS中有一个运算符叫做typedof,这个运算符可以在程序的运行阶段动态的 获取变量的数据类型。
typeof运算符的运算结果是以下6个字符串之一,注意字符串全都是小写
"undefined"
"number"
"string"
"boolean"
"object" null的结果是object,但是null属于Null类型
"function"
在JS中比较字符串是否相等使用 ==-->
<script type="text/javascript">
function sum(a,b){
if(typeof a == "number" && typeof b == "number"){
alert(a+b);
return a + b;
}
alert("a和b必须都为数字");
}
sum(1,2);
</script>
</body>
</html>