所以这就是所谓的模块模式,用于创建私有成员的单身人士:
var foo = (function () {
var _foo = 'private!';
return {
foo: function () { console.log(_foo); },
bar: 'public!'
}
})();
Run Code Online (Sandbox Code Playgroud)
还有我自己发现的这种方法,但没有看到任何关于:
var foo = new function () {
var _foo = 'private!';
this.bar = 'public!';
this.foo = function () { console.log(_foo); };
}
Run Code Online (Sandbox Code Playgroud)
我认为必须有一个理由为什么没有人写这篇文章,而有大量关于模块模式的文章.这种模式有什么缺点吗?或许速度或浏览器兼容性?
我正在为我的应用程序创建一个javascript api,我想在我的javascript代码中使用命名空间.但是,我无法让它工作,也无法找到有关该问题的任何信息.
期望的功能:
HTML:
<script>
Android.typeOne.methodName();
Android.typeTwo.methodName();
</script>
Run Code Online (Sandbox Code Playgroud)
Java代码:
webView.addJavascriptInterface(new TypeOneInterface(context), "Android.typeOne");
webView.addJavascriptInterface(new TypeTwoInterface(context), "Android.typeTwo");
Run Code Online (Sandbox Code Playgroud)
但是这永远不会有效,如果我删除.typeOne并且:Android.methodName然后工作正常.