如何在控制台

时间:2017-12-08 08:13:38

标签: javascript window

我创建了一个javascript并将其添加到这样的页面中:

(function (window, google, List){
var myfunction = (function(){}
myfunction.prototype = {
hint: function(){alert('a good advise');}
})
}(window, google, List))

我添加了所需的js文件,它可以正常工作!当instatination id

时,它会在加载后显示结果
var myfancything = myfunction.create();

我在页面加载后得到结果。 但!我希望如果我然后打开控制台并输入

myfancything.hint();

我会看到警报。 我知道前几天我能够做到这一点,但我不知道我是如何实现的!

所以我想在浏览器控制台中使用原型,你能不能给我一个提示怎么做?

2 个答案:

答案 0 :(得分:1)

由于您在IIFE中将myfunction声明为局部变量,因此无法在该范围之外访问它。如果要将IIFE设为全局,或者分配给window.myfunction,请摆脱IIFE。

答案 1 :(得分:0)

默认情况下,无法从外部访问在另一个函数内声明的函数:

f();

try {
  g("u");
} catch (e) {
  console.error(e);
}

function f () {
  g("f");
  function g (caller) {
    console.log(caller, "called g");
  }
}

如果您希望内部函数是公共的,则必须明确声明它:

f();

try {
  g("u");
} catch (e) {
  console.error(e);
}

function f () {
  g("f");
  window.g = g;
  function g (caller) {
    console.log(caller, "called g");
  }
}