0
点赞
收藏
分享

微信扫一扫

js的变量和函数

1. 回顾java中的变量:07

1.1 java中怎么定义/声明变量?

数据类型 变量名;

例如:

int i;

double d;

boolean flag;

1.2 java中的变量怎么赋值?

使用“=”运算符进行赋值运算。("="运算符右边先执行,将右边执行的结果赋值给左边的变量。)

变量名 = 值;

例如:

i = 10;

d = 3.14;

flag = false;

1.3 java语言是一种强类型语言,强类型怎么理解?

java语言存在编译阶段,假设有代码:int i;

那么在Java中有一个特点是:java程序编译阶段就已经确定了i变量的数据类型,该i变量的数据类型在编译阶段是int类型,那么这个变量到最终内存释放,一直都是int类型,不可能变成

其他类型。

int i = 10;

double d = i; 

这行代码是说声明一个新的变量d,double类型,把i变量中保存的值传给d。

i还是int类型。

i = "abc"; 这行代码编译的时候会报错,因为i变量的数据类型是int类型,不能将字符串赋给i。

java中要求变量声明的时候是什么类型,以后永远都是这种类型,不可变。编译期强行固定变量的数据类型。

称为强类型语言。

public void sum(int a, int b){}

sum(?,?);


2. javascript当中的变量?  08

怎么声明变量?

var 变量名;

怎么给变量赋值?

变量名 = 值;

javascript是一种弱类型语言,没有编译阶段,一个变量可以随意赋值,赋什么类型的值都行。

var i = 100;

i = false;

i = "abc";

i = new Object();

i = 3.14;

重点:javascript是一种弱类型编程语言。

代码在  004 关于js中的变量

<!-- 关于js中的变量 07-->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>关于js中的变量</title>
	</head>
	<body>
		<script>
		/*
				回顾java中的变量:
					1、java中怎么定义/声明变量?
						数据类型 变量名;
						例如:
							int i;
							double d;
							boolean flag;
					2、java中的变量怎么赋值?
						使用“=”运算符进行赋值运算。("="运算符右边先执行,将右边执行的结果赋值给左边的变量。)
						变量名 = 值;
						例如:
							i = 10;
							d = 3.14;
							flag = false;
					3、java语言是一种强类型语言,强类型怎么理解?
						java语言存在编译阶段,假设有代码:int i;
						那么在Java中有一个特点是:java程序编译阶段就已经确定了
						i变量的数据类型,该i变量的数据类型在编译阶段是int类型,
						那么这个变量到最终内存释放,一直都是int类型,不可能变成
						其他类型。
							int i = 10;
							double d = i; 
							这行代码是说声明一个新的变量d,double类型,把i变量中保存的值传给d。
							i还是int类型。
							
							i = "abc"; 这行代码编译的时候会报错,因为i变量的数据类型是int类型,不能将字符串赋给i。
							
							java中要求变量声明的时候是什么类型,以后永远都是这种类型,不可变。编译期强行固定变量的数据类型。
							称为强类型语言。
							
							public void sum(int a, int b){}
							sum(?,?);
							
				javascript当中的变量?
					怎么声明变量?
						var 变量名;
					怎么给变量赋值?
						变量名 = 值;
					javascript是一种弱类型语言,没有编译阶段,一个变量可以随意赋值,赋什么类型的值都行。
						var i = 100;
						i = false;
						i = "abc";
						i = new Object();
						i = 3.14;
					
					重点:javascript是一种弱类型编程语言。
					
			*/
		   // 在JS当中,当一个变量没有手动赋值的时候,系统默认赋值undefined
		   var i;
		   //注意undefined是一个具体的值
		   alert("i="+i);//i=undefined
		   
		   alert(undefined);
		   var k = undefined;
		   alert("k = " + k);
		   
		   //一个没有过声明变量
		   //alert(age)//语法错误age is not defined(变量age不存在。不能这样写。)
		   
		   
		   var a, b, c = 200;
		   alert("a = " + a);
		   alert("b = " + b);
		   alert("c = " + c);
		   
		   a = false;
		   alert(a);
		   
		   a = "abc";
		   alert(a);
		   
		   a = 1.2;
		   alert(a);
			   
		   </script>
	</body>
</html>

3. js的函数初步1  09

3.1 JS中的函数:

等同于java语言中的方法,函数也是一段可以被重复利用的代码片段。函数一般都是可以完成某个特定功能的。

3.2 回顾java中的方法?

[修饰符列表] 返回值类型 方法名(形式参数列表){

     方法体;

    }

例如:

 public static boolean login(String username,String password){

     ...

     return true;

    }

调用

 boolean loginSuccess = login("admin","123");

3.3 JS中的变量是一种弱类型的,那么函数应该怎么定义呢?

语法格式:

  第一种方式:

    function 函数名(形式参数列表){

      函数体;

     }

  第二种方式:

    函数名 = function(形式参数列表){

      函数体;

     }

JS中的函数不需要指定返回值类型,返回什么类型都行。

代码在005 js函数初步  09

<!-- js函数初步   09-->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>js函数初步</title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				1、JS中的函数:
					等同于java语言中的方法,函数也是一段可以被重复利用的代码片段。
					函数一般都是可以完成某个特定功能的。
					
				2、回顾java中的方法?
					[修饰符列表] 返回值类型 方法名(形式参数列表){
						方法体;
					}
					例如:
					public static boolean login(String username,String password){
						...
						return true;
					}
					调用
					boolean loginSuccess = login("admin","123");
					
				3、JS中的变量是一种弱类型的,那么函数应该怎么定义呢?
					语法格式:
						第一种方式:
							function 函数名(形式参数列表){
								函数体;
							}
						第二种方式:
							函数名 = function(形式参数列表){
								函数体;
							}
						
						JS中的函数不需要指定返回值类型,返回什么类型都行。
			*/
		   //写法一
		   function sum(a,b){// a和b都是局部变量,他们都是形参(a和b都是变量名,变量名随意。)
			   alert(a+b);
		   }
		   //函数必须调用才能执行
		   //sum(10,20);//30
		   
		   //写法二
		   sayHello=function(username){
			   alert("hello "+ username)
		   }
		   //sayHello("张三");
		   
		</script>
		
		<input type="button" value="hello" onclick="sayHello('jack');"/>  <!-- 点击按钮触发函数 onclick="sayHello('jack') -->
		<input type="button" value="计算10和20的求和" onclick="sum(10, 20);" /> <!-- 点击按钮就算函数 -->
	</body>
</html>

4. js函数初步2  10

java中的方法有重载机制,JS中的函数能重载吗?

js一个函数顶n个函数,不需要重载

JS当中的函数在调用的时候,参数的类型没有限制,并且参数的个数也没有限制,JS就是这么随意。(弱类型)


重载的含义:方法名或者函数名一样,形参不同(个数、类型、顺序)

代码在006 js函数初步2

<!-- js函数初步2  10 -->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>js函数初步2</title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				java中的方法有重载机制,JS中的函数能重载吗?
				JS当中的函数在调用的时候,参数的类型没有限制,并且参数的个数也没有限制,JS就是这么随意。(弱类型)
				
				重载的含义:
					方法名或者函数名一样,形参不同(个数、类型、顺序)
			*/
		   function sum(a,b){
			   return a+b;
		   }
		   //调用函数
		   var reValue = sum(1,2);
		   alert(reValue);
		   
		   var retValue2 = sum("jack"); // jack赋值给a变量,b变量没有赋值系统默认赋值undefined
		   alert(retValue2); // jackundefined
		   
		   var retValue3 = sum();
		   alert(retValue3); // NaN (NaN是一个具体存在的值,该值表示不是数字。Not a Number)
		   
		   var reValue = sum(2,3,4)
		   alert("结果="+reValue)//结果还是5,多的3没用
		   
		   
		   /*
		   在JS当中,函数的名字不能重名,当函数重名的时候,后声明的函数会将之前声明的同名函数覆盖。
		   */
		   function test1(username){
						   alert("test1");
		   }
		   
		   function test1(){
			   alert("test1 test1");
		   }
		   
		   test1("lisi"); // 这个调用的是第二个test1()函数.
		   
		</script>
	</body>
</html>

5. js的局部变量和全局变量  11

5.1 全局变量:

在函数体之外声明的变量属于全局变量,全局变量的生命周期是:浏览器打开时声明,浏览器关闭时销毁,尽量少用。因为全局变量会一直在浏览器的内存当中,耗费内存空间。

能使用局部变量尽量使用局部变量。

5.2 局部变量:

在函数体当中声明的变量,包括一个函数的形参都属于局部变量,

局部变量的生命周期是:函数开始执行时局部变量的内存空间开辟,函数执行结束之后,局部变量的内存空间释放。局部变量生命周期较短。

5.1 和5.2 代码在 007 js的局部变量和全局变量    11

<!-- js的局部变量和全局变量  11 -->
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>js的局部变量和全局变量</title>
	</head>
	<body>
		<script type="text/javascript">
			/*
				全局变量:
					在函数体之外声明的变量属于全局变量,全局变量的生命周期是:
						浏览器打开时声明,浏览器关闭时销毁,尽量少用。因为全局变量会一直在浏览器的内存当中,耗费内存空间。
						能使用局部变量尽量使用局部变量。
				局部变量:
					在函数体当中声明的变量,包括一个函数的形参都属于局部变量,
					局部变量的生命周期是:函数开始执行时局部变量的内存空间开辟,函数执行结束之后,局部变量的内存空间释放。
					局部变量生命周期较短。
			*/
		   
		   //全局变量
		   var i=100;
		   function accessI(){
			   
			   alert("i="+i);//  100 这里访问的是全局变量
		   }
		   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();
		   
		   /*小提示:浏览器调试按F12*/
		   // 报错(语法不对),因为局部变量age在函数中用完就销毁了,
		   //alert("age = " + age);//这个age连定义都没有,就会报错   age is not defined
		   
		   //小细节,当一个变量在声明时没有用var关键字,这个变量无论在哪都是全局变量
		   function myfun(){
			   myname="lizilong";
		   }
		   myfun();//访问函数
		   alert("myname="+myname);//myname=lizilong
		   
		</script>
	</body>
</html>

举报

相关推荐

0 条评论