函数的运用
在JavaScript里,函数也算是一种数据类型。不同于int、string、float等基本型,也不属于object等引用类型,函数,即function是一种特殊的对象。
一、函数的基本写法
你可以把function当成如java中的方法一样。
1 function fun_name(){ 2 alert(1111); 3 }</span>
调用它:
1 <script> 2 window.onload=fun_name(); 3 </script>
也可以当成一个普通的数据类型一般,赋给一个变量,
1如:
1 <script> 2 function fun_name(){ 3 alert(1111); 4 } 5 var fun = fun_name(); 6 </script>
2甚至也可以这样写:
1 <script> 2 var fun = function(){ 3 alert(2); 4 } 5 </script>
3你还能把function当成一个object,需要new之后,让系统分配给它一个内存之后才能使用它:
1 <script> 2 function fun_name(arg){ 3 this.arg = arg; 4 alert(this.arg); 5 } 6 var fun = new fun_name(2); 7 </script>
上面所说的3中方法,1就是我们常用的经典型,2我们则称之为函数字面量,3我们就以它的实现方法称之为构造函数。
如2一般没有函数名称的函数,我们一般称之为匿名函数。
二、匿名函数的代码模式
如果你经常看Jquery,则会发现在Jquery中大量用到一下这种写法。
1 (function(){ 2 alert(11); 3 })();
其中这是匿名函数的几种代码模式之一。
通常我们这样写
1 var fun = function(){ 2 alert(111); 3 }
不会有任何执行结果,这只是一个单纯的赋值。
想让匿名函数能自动执行,我们可以参照一下几种代码模式。
1一种就是上述所写的那样,先写一个函数字面量,然后执行它。
1 (function(){ 2 alert(11); 3 })();
2还有一种优先执行法,用圆括号强制执行。
1 (function(){ 2 alert(11); 3 }())
3此外还有一个void操作符
1 void funtion(){ 2 alert(111); 3 }
三、函数声明和函数表达式
JavaScript里的函数声明与函数表达式是有区别的。在JavaScript中有一个叫做函数提升的过程,即在执行时,会首先执行函数声明,使其在执行代码时可以用到。
如:
1 alert(sum(1,2)); 2 function sum(num1,num2){ 3 return num1+num2; 4 }
这段代码是能够完美执行的。
但函数表达式则不一样:
alert(sum(1,2)); var sum = function(num1,num2){ return num1 + num2; }
因为函数表达式在执行到时才被编译,所以在alert中还不能调用sum函数,最终导致报错。
除此之外,函数声明与函数表达式是等价的。
关于JavaScript的函数运用,如果想知道更详细,还可以参考《用函数式编程技术编写优美的 JavaScript》。
这篇只是我的学习总结,如果错误请各位指点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?