一.JS中的变量
javascript当中的变量怎么声明变量?
javascript是一种弱类型语言,没有编译阶段,一个变量可以随意赋值,赋什么类型的值都行。
var i = 100;
i = false;
i = "abc";
i = new Object();
i = 3.14;
重点:javascript是一种弱类型编程语言。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript">
//在JS当中,当一个变量没有手动赋值的时候,系统默认赋值undefined
var i;
alert("i = " + i) // i = undefined
var k = undefined;
alert("k = " + k); //k = undefined
var a, b, c = 200;
alert("a = "+ a);//200
alert("b = "+ b);//200
alert("c = "+ c);//200
a = false;
alert(a);//false
a = "abc";
alert(a);//abc
</script>
</body>
</html>
二.JS函数初步
1、JS中的函数:
等同于java语言中的方法,函数也是一段可以被重复利用的代码片段。
函数一般都是可以完成某个特定功能的。
2、JS中的变量是一种弱类型的,那么函数应该怎么定义呢?
语法格式:
第一种方式:
function 函数名(形式参数列表){
函数体;
}
第二种方式:
函数名 = function(形式参数列表){
函数体;
}
JS中的函数不需要指定返回值类型,返回什么类型都行。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript">
//第一种方式
function sum(a,b) {
alert(a+b)
}
// 函数必须调用才能执行的.
sum(10,20)//30
//第二种方式
sayHello = function(username) {
alert("hello"+username)
}
sayHello("zhangshan")
</script>
<!--button按钮,点击后出现-->
<input type="button" onclick="sayHello('Bob')"/>//BOb
<input type="button" onclick="sum(19,11)"/>//30
</body>
</html>
3.java中的方法有重载机制,JS中的函数能重载吗?
JS当中的函数在调用的时候,参数的类型没有限制,并且参数的个数也没有限制,JS就是这么随意。(弱类型)
重载的含义:
方法名或者函数名一样,形参不同(个数、类型、顺序)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script type="text/javascript">
function sum(a, b){
return a + b;
}
// 调用函数sum
var retValue = sum(1, 2);
alert(retValue);//3
var retValue2 = sum("jack"); // jack赋值给a变量,b变量没有赋值系统默认赋值undefined
alert(retValue2); // jackundefined
var retValue3 = sum();
alert(retValue3); // NaN (NaN是一个具体存在的值,该值表示不是数字。Not a Number)
var retValue4 = sum(1, 2, 3);
alert("结果=" + retValue4); // 结果=3
/*
在JS当中,函数的名字不能重名,当函数重名的时候,后声明的函数会将之前声明的同名函数覆盖。
*/
function test1(username){
alert("test1");
}
function test1(){
alert("test1 test1");
}
test1("lisi"); // 虽然是有参,但这个调用的还是第二个test1()函数.输出test1 test1
</script>
</body>
</html>
三.全局变量和局部变量
全局变量:
在函数体之外声明的变量属于全局变量,全局变量的生命周期是:
浏览器打开时声明,浏览器关闭时销毁,尽量少用。因为全局变量会一直在浏览器的内存当中,耗费内存空间。能使用局部变量尽量使用局部变量。
局部变量:
在函数体当中声明的变量,包括一个函数的形参都属于局部变量,
局部变量的生命周期是:函数开始执行时局部变量的内存空间开辟,函数执行结束之后,局部变量的内存空间释放。
局部变量生命周期较短。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JS的局部变量和全局变量</title>
</head>
<body>
<script type="text/javascript">
// 全局变量
var i = 100;
function accessI(){
// 访问的是全局变量
alert("i = " + i);
}
//调用函数
accessI();
// 全局变量
var username = "jack";
function accessUsername(){
// 局部变量
var username = "lisi";
// 就近原则:访问局部变量
alert("username = " + username);//lisi
}
// 调用函数
accessUsername();
// 访问全局变量
alert("username = " + username);//jack
function accessAge(){
var age = 20;
alert("年龄 = " + age);
}
accessAge();//20
// 报错(语法不对,人家是局部变量)
// alert("age = " + age);
// 以下语法是很奇怪的.
function myfun(){
// 当一个变量声明的时候没有使用var关键字,那么不管这个变量是在哪里声明的,都是全局变量.
myname = "dujubin";
}
// 访问函数
myfun();//dujubin
alert("myname = " + myname); // myname = dujubin
</script>
</body>
</html>
有Java基础应该看起来不累吧,可以把代码复制过去运行一下