JavaScript函数定义与变量赋值机制解析

作者:木棉时间:2026-10-28 10:32:40浏览:254

本文详解JavaScript中函数的两种定义方式:传统声明与Function构造函数,并阐述函数名在JS中作为变量引用的特性。通过示例展示如何将函数名赋值给其他变量,以及将函数作为参数传递给其他函数,帮助理解JS中函数的一等公民地位及内存指向机制。

代码如下:

 
JavaScript函数定义与变量赋值示例<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
函数名作为变量的特性总结/*总结如下:
1.函数名可视为变量,支持赋值与传值操作
2.函数名可作为参数传递给其他函数
*/ 
JS中函数的两种定义方式//==================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);//这种写法同样可行
alert(tt);
//==================将函数变量作为参数传递===========================
</script>
</head>
<body>
</body>
</html>
作者最新文章