在同一JavaScript对象中从另一个函数调用函数时获得意外警报

时间:2016-01-20 05:45:43

标签: javascript

  var sn = {
                di: function (val) {
                    alert(val);
                }, mn: function () {
                    this.di("Hello");
                }
            };
  alert(sn.mn());

当我执行这个程序时,我收到两个警报,第一个警报是正确的警告,第二个警告不是预期的,并给出'undefined' 为什么呢?

2 个答案:

答案 0 :(得分:2)

你收到两个警告

  1. 第一个是hello,如函数di

  2. 所示
  3. 你得到的第二个警告是未定义的,它是函数mn的返回值,它返回任何/ undefined。

  4. 调试它的简短练习

    要查看未定义的位置,请在mn函数中放置一个return语句。

答案 1 :(得分:0)

在此代码中,首先执行sn.mn()将导致带有Hello的警报,

之后将执行第二个警报,这将导致未定义的sn.mn函数返回值的警告。