JavaScript中的函数的两种定义方式

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
/*I总结:
1.函数名可以做变量使用,可以赋值,可以传值
2.函数名当参数,传递给另一个函数
 */
//==================js中函数的两种定义方式和函数变量赋值================
//在javascript中定义一个函数就可以理解成定义了一个变量
//js中的变量时弱类型的哦。
//----------1
//function add1(){
	//alert("add1");
//}
//那么函数作为一个变量,就可以作为参数,是add1指向了这个代码块在内存中存储的首地址
 var add1=new Function("alert(‘add1‘);");//--------2
//以上1,2的写法是完全等价的,是js中声明函数的两种方式
//实际上,是add1指向了这段函数代码块,在内存中存储的首地址。
//至于具体如何存储,堆或栈,这里不多做研究了。

var addtt=add1;//函数名当变量使用,可以赋值,也可以传值
//addtt 指向了函数体
addtt();
//==================js中函数的两种定义方式和函数变量赋值================
//==================将函数变量作为参数传递===========================
//基本格式:
	function add2(fun){
	//将函数名作为参数传递
	fun();
}
add2(add1);

//--------------------------------------
//函数名作参数使用,同时接受参数的情况演示的啦
function add(a){
	return n+10;
}
//a:数字,fun:函数
function addTest(a,fun){
	 var t=fun(a);
	 return t;
}
var tt=addTest(22,add);//这样的写法也是ok的啦
alert(tt);
//==================将函数变量作为参数传递===========================
</script>
</head>
<body>

</body>
</html>

JavaScript中的函数的两种定义方式,布布扣,bubuko.com

时间: 2024-08-01 10:46:48

JavaScript中的函数的两种定义方式的相关文章

函数——函数的两种声明方式:函数声明&amp;函数表达式的区别(未完待续。。。)

一.函数声明中函数名是必须的:函数表达式中则是可选的 //函数声明 function sum(a, b) { return a + b; } alert(sum(1, 2)); //函数表达式 /* var s = function sum(a, b) { return a + b; } alert(s(1, 2)); */ var s = function(a, b) { return a + b; } alert(s(1, 2)); //以上两种都可以 二.用函数声明定义的函数,函数可以在函

属性的两种定义方式

属性的定义有两种方式: 装饰器 即:在方法上应用装饰器 静态字段 即:在类中定义值为property对象的静态字段 装饰器方式:在类的普通方法上应用@property装饰器 新式类:我们知道Python中的类有经典类和新式类,新式类的属性比经典类的属性丰富.( 如果类继object,那么该类是新式类 ) class Goods(object): def __init__(self): self.original_price = 100 #普通字段 self.dicount_rate = 0.8

结构体的两种定义方式

typedef struct 用法小结 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等).在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明. typedef与结构体结合使用 typedef struct tagMyStruct { int iNum; long lLength; } MyStruct; 这句话实际上完成两个

python中package机制的两种实现方式

当执行import module时,解释器会根据下面的搜索路径,搜索module1.py文件. 1) 当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/local/lib/python) 事实上,模块搜索是在保存在sys.path这个全局变量中的目录列表中进行搜索. sys.path会在解释器开始执行时被初始化成包含: 1)当前工作目录 2) PYTHONPATH中的目录 3) Python安装目录 (/usr/local/lib/python) pack

0139 函数的两种声明方式

2.8.1 自定义函数方式(命名函数) 利用函数关键字 function 自定义函数方式 // 声明定义方式 function fn() {...} // 调用 fn(); 因为有名字,所以也被称为命名函数 调用函数的代码既可以放到声明函数的前面,也可以放在声明函数的后面 2.8.2 函数表达式方式(匿名函数) 利用函数表达式方式的写法如下: // 这是函数表达式写法,匿名函数后面跟分号结束 var fn = function(){...}: // 调用的方式,函数调用必须写到函数体下面 fn(

243 函数:函数的3种定义方式,函数的6种调用方式

1.函数的定义和调用 1.1 函数的定义方式 方式1 函数声明方式 function 关键字 (命名函数) function fn(){} 方式2 函数表达式(匿名函数) var fn = function(){} 方式3 new Function() var f = new Function('a', 'b', 'console.log(a + b)'); f(1, 2); var fn = new Function('参数1','参数2'..., '函数体') 注意 /*Function 里

字符串数组的两种定义方式

C++实现字符串数组的两种方式 1.常用的方法 #include <iostream> #include <string> using namespace std; int main() { string str[]={"hello", "string", "world"}; int str_size=sizeof(str)/sizeof(string); cout<<"size of str is

node.js中函数的两种封装方式

1.创建一js文件(funs.js)function  controller(req,res){          //res.write("发送");          call('hello',req,res);          res.end("");      }module.exports  =  controller;    //此文件中只有一个函数被发布 其他文件中调用:require('./models/funs.js'); controller(

js函数的两种定义形式,函数的实参列表arguments/形参列表函数名

1.声明式函数:function test(){}; 2.表达式函数:var test=function(){} 例:function test(a,b){} test(2,3,4) ->函数的形参和实参是可变的 函数内参数参数列表: 1.实参列表:在函数内用arguments表示,如上例:arguments=[2,3,4] 2.在函数内test.length表示形参列表长度 原文地址:https://www.cnblogs.com/fangming/p/8847650.html