我创建了一个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();
我会看到警报。 我知道前几天我能够做到这一点,但我不知道我是如何实现的!
所以我想在浏览器控制台中使用原型,你能不能给我一个提示怎么做?
答案 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");
}
}