我是javascript的新手。我曾经读过关于SAEF的文章,但我仍然有疑问,代码如下:
var addEvent = (function( window, document ) { if ( document.addEventListener ) { return function ( elem, type, callback ) { //if elem exist and is a single node. if ( elem && !elem.length || elem === window ) { elem.addEventListener( type, callback, false ); } else if ( elem && elem.length ) { //elem is an node of array for ( var i = 0; i < elem.length; i++ ) { addEvent( elem[i], type, callback ); } } } } else if ( document.attachEvent ) { return function ( elem, type, callback ) { //if elem exist and is a single node if ( elem && !elem.length || elem === window ) { elem.attachEvent( 'on'+type, function () { callback.call( elem, window.event ); } ); } else if ( elem && elem.length ){ for ( var i = 0; i < elem.length; i++ ) { addEvent( elem[i], type, callback ); } } } } })( this, document );
这是一种称为即时函数的JavaScript模式。其形式如下:
(function(param1, param2, ...) {
/* ... function body ... */
}(var1, var2));
你是对的,它涉及到创建一个匿名函数,然后用一组变量调用它。
它允许开发人员创建一个没有变量泄漏的范围。JavaScript只有全局和函数范围。在函数体之外声明的任何变量都自动在全局范围内。
即时功能可以避免这个问题。
在这种情况下,和许多情况一样,快速函数将返回包含闭包中一些内部变量的东西。这保护了它们,但使它们的值以受保护的方式可用。
在本例中,您将返回一个函数,该函数将允许调用者向HTML元素添加事件。您通常会看到用于创建跨浏览器方法的即时函数。对immediate函数的调用将执行所有浏览器方法嗅探,然后生成适当的跨浏览器方法。这意味着嗅探只能进行一次。这样可以避免每次调用该方法时嗅探浏览器。
什么是at在这组java代码中是什么意思?我试过搜索,但找不到任何解释。有人知道,请给我解释一下。非常感谢你。 BatchFileController.java
问题内容: 我找不到有关VM参数的文档。似乎有必要在Mac上通过LWJGL运行JOGL。这是什么意思?似乎某些进程想要线程0。这正确吗? 请注意:我的主类中有一个方法。它似乎没有覆盖任何内容,并且我没有实现runnable。 我在此处运行的示例源代码:http : //www.lwjgl.org/guide 问题答案: 从Java 1.7.0_u4开始,此选项记录在Mac OSX平台上。 该选项使
Attachtoroot:膨胀的层次结构是否应该附加到根参数?如果为false,则root仅用于为XML中的root视图创建正确的LayoutParams子类。 有人能更详细地解释一下吗,特别是根视图是什么,并展示一个和值之间行为变化的示例吗?
问题内容: 该链接指出以下内容: 具有实际类型参数的泛型类型的实例化称为参数化类型。示例(参数化类型): 那么什么是参数化类型? 要么 问题答案: 它们都是参数化类型:以其他类型为参数的类型。 您在表达式的两侧具有不同类型的事实是无关紧要的,并且与多态行为有关,即因为是的子类型。
我找不到VM参数< code >-xstartonfirsthread 的文档。似乎有必要让我在Mac上通过LWJGL运行JOGL。这是什么意思?似乎是某个进程想要线程0。这是正确的吗? 请注意:我的主类中有一个 方法。它似乎没有覆盖任何东西,我没有实现可运行的。 我在这里运行的源代码示例:http://www.lwjgl.org/guide
问题内容: 我不明白这种语法。尝试用谷歌搜索各种单词加上“ …”是没有用的。 问题答案: 这称为可变参数函数(带有许多语言示例的Wiki页面)。 在计算机程序设计中,可变参数函数是不确定的函数,即接受可变数量的参数的函数。在编程语言之间,对可变参数功能的支持差异很大。作为可变参数函数,自然会遇到许多数学和逻辑运算。例如,数字的总和或字符串或其他序列的串联是可以在逻辑上应用于任意数量的操作数的运算。