相关疑难解决方法(0)

使用"let"和"var"在JavaScript中声明变量有什么区别?

ECMAScript 6介绍了该let声明.我听说它被描述为"本地"变量,但我仍然不太确定它与var关键字的行为有何不同.

有什么区别?何时应该let使用var

javascript scope var let ecmascript-6

4199
推荐指数
28
解决办法
111万
查看次数

在JavaScript函数中定义全局变量

是否可以在JavaScript函数中定义全局变量?

我想在其他函数中使用trailimage变量(在makeObj函数中声明).

<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title></title>
        <script type="text/javascript">
            var offsetfrommouse = [10, -20];
            var displayduration = 0;
            var obj_selected = 0;
            function makeObj(address) {
                **var trailimage = [address, 50, 50];**
                document.write('<img id="trailimageid" src="' + trailimage[0] + '" border="0"  style=" position: absolute; visibility:visible; left: 0px; top: 0px; width: ' + trailimage[1] + 'px; height: ' + trailimage[2] + 'px">');
                obj_selected = 1;
            }

            function truebody() {
                return (!window.opera && document.compatMode && document.compatMode != "BackCompat") ? …
Run Code Online (Sandbox Code Playgroud)

javascript variables scope declaration function

479
推荐指数
10
解决办法
97万
查看次数

您是否建议在JavaScript中的每个语句后使用分号?

在许多情况下,如果您将它们遗漏,JavaScript解析器将为您插入分号.我的问题是,你把它们遗弃了吗?

如果您不熟悉规则,则会在Mozilla网站上对分号插入进行描述.这是关键点:

如果第一至第n JavaScript程序形式的令牌是语法上有效,但第一至第n + 1个ST令牌是不与存在n之间的换行符令牌和第n + 1个ST令牌,则解析器尝试将所述n之间的虚拟分号令牌之后再次解析程序和第n + 1个ST令牌.

这种描述可能不完整,因为它没有解释@ Dreas的例子.任何人都有完整规则的链接,或者看看为什么这个例子得到一个分号?(我在JScript.NET中尝试过.)

此stackoverflow问题是相关的,但仅涉及特定方案.

javascript

52
推荐指数
9
解决办法
17万
查看次数

理解JavaScript函数范围

以下代码是JavaScript代码.我试图了解JavaScript中的函数范围并在此处阅读文章.我正在复制下面的代码 -

var cow = "purple"; // just a random cow

var f = function (x) {
    var r = 0;
    cow = "glue";
    if (x > 3) {
        var cow = 1; // a local variable
        r = 7;
    }
    return r;
};

var z = f(2);
alert(cow); // returns purple
Run Code Online (Sandbox Code Playgroud)

我不太明白为什么字符串"紫色"会被警告.该行cow = "glue";应将cow变量的值设置为"glue".如果我删除if块,然后在最后一个语句中警告cow,我看到字符串"glue"被警告.

当调用f(2)时,不输入if代码块并且其中没有任何内容被执行,那么为什么我会看到不同的结果呢?即为什么在最后一个语句中警告牛现在返回字符串"紫色"?

javascript scope

10
推荐指数
3
解决办法
199
查看次数

标签 统计

javascript ×4

scope ×3

declaration ×1

ecmascript-6 ×1

function ×1

let ×1

var ×1

variables ×1