博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript函数
阅读量:7103 次
发布时间:2019-06-28

本文共 904 字,大约阅读时间需要 3 分钟。

hot3.png

##普通函数 使用关键字function+函数名的形式。

  • 同名函数:不存在函数重载,后面的函数会覆盖前面的函数。
  • arguments对象:无论函数的参数情形如何,参数最终都会嵌入至arguments对象。
  • 函数默认返回值undefined

##匿名函数 直接通过关键字function实现函数的构造。

  • 变量匿名函数:函数也是对象,可以将函数体赋值给变量,从而实现多次调用。
var func = function(){}
  • 无名称匿名函数(function(){})();:只能执行一次。

##闭包函数

假设,函数func1()内部声明函数func2(),函数func2()引用了函数func2()之外的变量,并且函数func1()的返回值为函数func2()的引用。那么,函数func2()就是闭包函数。

闭包->作用域「全局变量占用的资源只有当页面变换或者浏览器关闭之后才会释放」->临时变量占用了全局资源,因此暂时不会被GC回收

閉包帶來的好處:外部環境是無法一個函數的內部變量,但可以通過閉包來實現操控,從而達到某些高級面向對象編程語言如C#的private關鍵字效果。

function func1() {        var private_value = "";        var func2 = function () {            if (arguments[0]) {                private_value += arguments[0];            }            console.log(private_value);        }        return func2;    }    var closure1 = func1();    var closure2 = func1();    closure1("C#");    closure2("C++");    closure1("linux");

转载于:https://my.oschina.net/sunshinedabby/blog/202838

你可能感兴趣的文章
URL中的#
查看>>
Linux下Jenkins服务器搭建
查看>>
iOS知识点汇总
查看>>
一起谈.NET技术,MonoTouch中的MVC简介
查看>>
Sql Server导入Access数据库报不可识别的数据库格式 Microsoft JET Database Engine
查看>>
目标检測的图像特征提取之(一)HOG特征
查看>>
jdbctemplate中的query(sql,params,mapper)与queryForList(sql,params,class)区别
查看>>
Type mismatch: cannot convert from java.sql.PreparedStatement to com.mysql.jdbc.PreparedStatement
查看>>
chrome 谷歌浏览器插件损坏
查看>>
ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件...
查看>>
BWA MEM算法
查看>>
Linux基础命令---chkconfig
查看>>
微信api 源码分享
查看>>
博客计划【推荐系统】
查看>>
Android开发之旅:android架构
查看>>
新闻发布系统,真正了解了么?
查看>>
信息系统开发平台OpenExpressApp - ClickOnce智能部署
查看>>
Android APK自动化测试
查看>>
【Android开发】网路编程及Internet应用-使用WebView显示网页
查看>>
学生党如何拿到阿里技术offer:《阿里面试经历-2014.4.18研发实习生面试经历(失败)》...
查看>>