一、"(function(){})()"的功能
功能描述:定义一个函数对象并执行。
返回值:该代码段返回定义的函数对象的执行结果。
这个写法到底是什么意思呢?
首先我们把代码分为2个部分:"(function(){})" 和 "()"
"(function(){})"的功能:定义一个函数对象。
"()":执行函数并返回结果。
下面我们来逐步分析这种写法。
二、"(function(){})()"的分步解析
首先尝试理解以下2种描述:
1、定义一个函数a,返回固定值1;
对应的javascript代码片段:
function a()
{
return 1;
}
2、定义一个对象a,该对象为函数对象,函数功能返回固定值1;
对应的javascript代码片段:
var a = new Object();
a = function()
{
return 1;
}
简化写法:
var a = function()
{
return 1;
}
进一步简化
var a = function(){return 1}
3、有上可以了解到
javascript代码片段
var a = function(){return 1}
实现的是定义一个变量a,a为一个对象,确切说是一个函数对象,返回固定值1;
一个简单的问题如何调用a?
当然是:a()
那如果"a = function(){return 1}",a的调用又怎么写?
"function(){return 1}" + "()"
即:
(function(){return 1})()
备注:
什么函数定义部分加个"()"?
其实这个"()"没有特殊含义,只是把函数对象作为一个整体。
如果不加"()"那么 就是"function(){return 1}()"这明显是一个语法错误。
分享到:
相关推荐
c++ vs2019 cpp20规范 模板function 源码解析
JSFunction函数深入解析.pdf
软件架构说明 使用了MATLAB的L2 S-function对Optitrack信息流进行解析,通过调用Optitrack的SDK接口可以实现m脚本或者Simulink获取Optitrack的刚体和单Mark点信息。 安装教程 启动Optitrack和Motive 局域网连接(无...
sql server 2014 JSON解析到表函数 CREATE FUNCTION [dbo].[parseJSON]( @JSON NVARCHAR(MAX)) RETURNS @hierarchy TABLE ( element_id INT IDENTITY(1, 1) NOT NULL, ...
let getObjectURL = function(file){ let url = null ; if (window.createObjectURL!=undefined) { // basic url = window.createObjectURL(file) ; } else if (window.URL!=undefined) { // mozilla(firefox) ...
complex-function-plot, 基于web的复杂表达式解析器和绘图仪 复杂函数绘图仪现场实况演示基于web的复杂表达式解析器和绘图仪。有关使用和背景信息的信息,请参考 wiki 中的指令。
This note considers multi-agent systems seeking to optimize a convex ag-gregate function. We assume that the gradient of this function is distributed, mean-ing that each agent can compute its ...
S-Function 可以使用MATLAB®,C,C ,Ada,或Fortran 语言来编写。使用MEX 实用工具,将C,C ,Ada,和Fortran 语言的S-Function 编译成MEX-文件,在需要的时候,它们可与其它的MEX-文件一起动态地连接到MATLAB 中...
繁體Delphi Function 繁體Delphi Function 繁體Delphi Function 繁體Delphi Function
zencart自动加载类解析,收集 非原创
function RadioCheck() { var Radio=document .getElementsByName ("rdoSelect"); for (var j=0;j;j++) { if (Radio[j].checked) { document .getElementById ("USRNUM").value=Radio [j].value; } } }...
s-function函数,s-function函数定义放置错误,matlab源码
function_exexists函数详解function_exists函数详解function_exists函数详解function_exists函数详解function_existexists函数详解function_exists函数详解function_exists函数详解function_exists函数详解function_...
打开控制台发现报错:object is not a function。 感觉很奇怪,这块的功能最新没动过怎么会突然出问题了呢?上线时主流浏览器都测试过了呀。 虽然奇怪,但是还的解决问题。看着代码发现一个radio对象的name属性和一...
使用MATLAB中的s-function builder集成外部代码,定义s-function参数
why function program matterswhy function program matterswhy function program matters
ORACLE 操作XML的function函数,英文原文地址,参考地址,oracle函数目录
oracle_function用法
编写的蹦极系统的S-function案例详解,可以参考博客:https://blog.csdn.net/didi_ya/article/details/118190541