javaScript定义函数的三种方式&变量的作用域

一.函数定义

方式1.普通方式定义函数

function 函数名(参数n){

函数体

}

function add(a,b){
		return a+b;
	}

方式2.直接量定义函数

var 函数名=function(参数n){

函数体

}

var add=function(a,b){
		return a+b;
	}

方式三.构造方式定义函数

var 函数名=new Function(参数n,函数体);

var add = new Function('a,b','return a+b;');

二.变量的作用域:

全局变量:全局域和函数域

局部变量:局部函数域内

<script type="text/javascript">
	var a="a";
	function fn(){
		var b="b";
		alert(a);
		alert(b);
	}
	fn();
	alert(a);
	alelrt(b);
</script>

打印结果:a,b,a我们发现最后一个alert(b)没有打印这是因为b定义在函数体内只能在函数体内使用

特殊的作用域

<script type="text/javascript">
	var a="a";
	function fn(){
		alert(a);
		var a="b";
		alert(a);
	}
	alert(a);
</script>

运行结果:

undefined,b,a

代码解释:

* 解读一下代码:

*  * 定义一个全局变量a,并初始化为"a".

*  * 定义一个函数fn(),但是没有调用(说明函数内容的代码不执行).

*    * 定义局部变量a,但不初始化.

*  * 到以上代码为止,当前环境中具有几个变量?

*    * 全局变量a,值为"a".

*    * 局部变量a,但没值.

*  * 当调用函数fn()时:

*    * 打印变量a:就近原则

*      * 局部变量a,没值:结果为undefined.

*    * 打印变量a,局部变量a.

*  * 在全局域中打印变量a:全局变量a.

*

* 结论:

*  * javascript一次性定义代码段中所有的变量,但不初始化.

*  * javascript中当执行到对应语句时,初始化变量.

*

*  * 当全局变量与局部变量同名时:

*    * 在函数域中,只能访问到局部变量a.

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-07 19:17:05

javaScript定义函数的三种方式&变量的作用域的相关文章

javaScript定义函数的三种方式&amp;amp;变量的作用域

一.函数定义 方式1.普通方式定义函数 function 函数名(參数n){ 函数体 } function add(a,b){ return a+b; } 方式2.直接量定义函数 var 函数名=function(參数n){ 函数体 } var add=function(a,b){ return a+b; } 方式三.构造方式定义函数 var 函数名=new Function(參数n,函数体); var add = new Function('a,b','return a+b;'); 二.变量的

JavaScript定义数组的三种方式(new Array(),new Array(&#39;x&#39;,&#39;y&#39;),[&#39;x&#39;,&#39;y&#39;])

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

第七章、函数基础之定义函数的三种方式03

目录 第七章.函数基础之定义函数的三种方式03 一.无参函数 二.有参函数 三.空函数 第七章.函数基础之定义函数的三种方式03 一.无参函数 定义函数时参数是函数体接收外部传值的一种媒介 在函数阶段括号没有参数就是无参函数.调用时不需要传入实参 如果函数体代码逻辑不需要依赖外部传入值,必须定义成无参函数 def func(): print('hello nick') func() # hello nick 二.有参函数 在函数阶段括号有参数就是有参函数.调用时需要传入实参 如果函数体代码逻辑需

javascript创建函数的三种方式

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content=

定义函数的三种方式

定义函数时参数是函数体接收外部传值的一种媒介,其实就是一个变量名 在函数阶段括号内没有参数,称为无参函数.需要注意的是:定义时无参,意味着调用时也无需传入参数. 如果函数体代码逻辑不需要依赖外部传入的值,必须得定义成无参函数. def func(): print('hello nick') func() # hello nick 二.有参函数 如果函数体代码逻辑需要依赖外部传入的值,必须得定义成有参函数. def sum_self(x, y): """求和"&quo

javascript中构造函数的三种方式

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> // 创建函数的三种方式: // 1 函数声明 // 2 函数表达式 //

javascript中定义事件的三种方式

在javascript中,可以为某个元素指定事件,指定的方式有以下三种: 1.在html中,使用onclick属性 2.在javascript中,使用onclick属性 3.在javascipt中,使用addEvenListener()方法 三种方法的比较 (1)在第二.三种方法中,可以向函数传入一个event对象,并读取其相应属性,而方法一不可以. (2)首选第二.三种,第一种不利于将内容与事件分离,也不能使用event对象的相关内容. 一些语法细节 (1)在第一种方法中,onclick大小写

JavaScript声明全局变量的三种方式

JavaScript声明全局变量的三种方式 JS中声明全局变量主要分为显式声明或者隐式声明下面分别介绍. 声明方式一: 使用var(关键字)+变量名(标识符)的方式在function外部声明,即为全局变量,否则在function声明的是局部变量.该方式即为显式声明详细如下: var test = 5; //全局变量 function a() { var cc=3; //局部变量 alert(test); } function b(){alert(test);} 声明方式二: 没有使用var,直接

文件内光标的移动 函数基础 定义函数的三种形式

# with open(r'a.txt', 'r', encoding='utf-8')as f:# data1=f.read()# print('>1>:',data1)# print(f.tell()) # 44 只有一种情况下,光标的意思是字符# data2=f.read()# print('>2>:',data2) # 第一次有结果,第二次没有,第一次读取数据后光标已经移到了文件尾 # 只有一种情况下,光标以字符为单位:文件以rt方式打开,read()# with open