JavaScript 多重警报提示

标签 javascript hoisting

我已经阅读了有关 javascript 函数提升的内容。但是在这种情况下,我不明白匿名函数是如何被提升的

var myObj = {
    name: 'MyName',
    dob: 10,
    office: 'MyOffice',
    myFun: function(){
        alert("Anonymous function");
    },
    showItem: function(){
        alert("Name : " + this.name + " office : " + this.office);
    }
};

alert(myObj.showItem());

如果我运行代码,会提示两条警告消息。一个显示姓名、办公室等未定义。

最佳答案

那是因为调用了两个警报。 第一个是在您的 var 中的 showItem 函数中。 第二个是

的包装警报
alert(myObj.shwItem());

尝试:

myObj.showItem();

在这种情况下,只会调用您定义的变量中的警报。

关于JavaScript 多重警报提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26434135/

相关文章:

clojure - 绕过clojure中缺少 "hoisting"

javascript - 隐藏和显示按钮不起作用

javascript - “JSON”和 'jQuery' 在 Internet Explorer 7 和 8 中仍未定义

javascript - jquery $.post() 被取消

javascript - If 语句和变量提升

javascript - 用 let 或 const 声明的变量是否被提升?

javascript - .eslintignore 文件不工作

javascript - 当滚动条位于shadow-dom之外时,分部分加载 polymer iron-list

javascript - 如果函数是在 if 条件下定义的,它会被提升吗?

javascript - 如果我想提升 "use",使用函数表达式而不是常规函数声明有缺点吗?