Dan*_*nez 28
首先,JavaScript中的内联函数似乎没有一致的定义.我认为内联函数是JavaScript函数的特例.一个内联函数是分配给在运行时,而不是在分析时创建的变量的函数.
匿名函数和内联函数几乎相同,因为它们是在运行时创建的.不同之处在于内联函数已分配给变量,因此可以重复使用.这样,内联函数与常规函数的工作方式相同.
function func() {
alert ('function');
}
$('a').click(func);
Run Code Online (Sandbox Code Playgroud)
var func = function() {
alert ('inline')
};
$('a').click(func);
Run Code Online (Sandbox Code Playgroud)
$('a').click(function() {
alert('anonymous');
});
Run Code Online (Sandbox Code Playgroud)
与常规函数相比,匿名和内联函数可能会有性能损失.请参阅var functionName = function(){} vs function functionName(){}.
内联函数有些不同,引用维基百科:
内联函数是已要求编译器执行内联扩展的函数。换句话说,程序员已要求编译器在调用函数的每个位置插入函数的完整主体,而不是生成代码以在定义的那个位置调用该函数。编译器没有义务遵守此请求。
Javascript不支持内联函数的概念。但是我在网络上找到了一些引用,例如:
(function(){
setTimeout(/*inline function*/function(){ /*some code here*/ }, 5);})
();
Run Code Online (Sandbox Code Playgroud)
称为内联函数。如您所见,这些函数也没有任何名称,因此它们与匿名函数基本相同。我认为,由于您是在使用该函数的位置定义函数的,因此内联函数已引用了该函数,但是名称“ anonymous function”最能描述该概念。
| 归档时间: |
|
| 查看次数: |
39423 次 |
| 最近记录: |