hoisting

    1热度

    1回答

    JavaScript中的标准原型继承如下: function Animal() { this.legs = 0; } Animal.prototype.move = function() { alert("I'm moving!"); } Bird.prototype = new Animal(); Bird.prototype.constructor = Bird

    2热度

    2回答

    我有一个非常奇怪的问题与JavaScript。如果您采用以下代码并运行它,它将正常运行而不会出现任何错误,但是如果您对第一个alert发表评论,它将在第5行(var _board = Bomber.BoardFactory.getBoard();)处指出BoardFactory不存在的错误(请记住,使用第一个警报一切都运行没有错误)。我已经能够使用Firefox和Chrome重现这种确切的行为。

    15热度

    1回答

    我发现有几次我有一组相互关联的函数,以及我如何自然地将它们放在文件中,最终与它们的依赖冲突(即函数1依赖于在功能2上,但在功能1上)。当我编写代码时,我通常会继续评估顶级表达式,并且只会评估整个文件以刷新refs或whatnot的依赖关系。我经常发现,我最终会遇到依赖冲突,最终不得不围绕一堆功能。 在我知道的其他语言中,只要你声明了一个函数,它就会在幕后“悬挂”,就好像它出现在别的之前一样。这样你

    24热度

    5回答

    alert(myVar1); return false; var myVar1; 上面的代码在IE,FF和Opera中引发错误,指出返回语句必须进入函数。但它在Safari和Chrome中正常工作(显示undefined)。 上面的代码已被写入全局范围。除了所有的功能。 任何理由?

    66热度

    4回答

    JavaScript程序由语句和函数声明组成。执行JavaScript程序时,会发生以下两个步骤: 将扫描代码以查找函数声明和每个函数。声明是“执行”的(通过创建一个函数对象)并且创建了该函数的命名引用(以便可以从语句内调用该函数) 该语句按顺序执行(评估)出现在代码) 正因为如此,这作品就好: <script> foo(); function foo() { re

    7热度

    3回答

    出的只是知识的好奇心,为什么JavaScript的接受 var z = z || []; 初始化Z(如z可最初定义) 但没有变种,它抛出一个错误(在全球空间) z = z || []; (如果Z先前未定义) 在全球空间,您不需要使用VAR虽然我得到它可能b不好的做法。 之前你说这是一个问题,如 What is the purpose of the var keyword and when

    5热度

    2回答

    我一直在阅读有关JavaScript提起的问题。 JavaScript Scoping and Hoisting by Ben Cherry Two words about “hoisting” by Dmitry Soshnikov ,也有人了解JavaScript类型强制,真理&错误的测试: Truth, Equality and JavaScript和其他一些资源 虽然练习一番,发现我米丢失

    4热度

    2回答

    在下面的代码: (function(){ function test(){};//"function" var test;//"undefined" var printTest = typeof test; document.write(printTest); })(); printTest将显示,而不是“未定义”“功能”,这是有道理的,因为从我的理解

    5热度

    5回答

    编辑 看起来这是我的一个问题和我对jsfiddle的使用:? 我一直在阅读一些关于最近吊装的文章,一个是by Nicholas Zakas,另一个是by Ben Cherry。 我试着去下面的例子,只是考验我自己,以确保我完全掌握它,但有一个问题,林主要与这个例子中, if (!('a' in window)) { var a = 1; } console.log(a); 而不是