草庐IT

private_extern

全部标签

javascript - 如果没有 hack,就不能在私有(private) JavaScript 函数中访问“this”对象吗?

我在一个项目上工作了一段时间,试图找出我做错了什么,当我最终将“错误”缩小到以下代码无法按我预期工作的事实时:functionAlpha(){this.onion='onion';functionBeta(){alert(this.onion);}Beta();}alpha1=newAlpha();//Alerts'undefined'但是,如果我将代码更改为:functionAlpha(){varself=this;this.onion='onion';functionBeta(){alert(self.onion);}Beta();}alpha1=newAlpha();//Aler

javascript - 在 Javascript 中访问私有(private)成员的更好方法

在阅读了一些关于Javascript的prototypicalinheritancemodel之后,我从改变了构建类的风格varSome_Class=function(){this.public_method=function(){};(function(){//constructor}).call(this)}到varSome_Class=function(){(function(){//constructor}).call(this)}Some_Class.prototype.public_method=function(){};虽然我知道这是一个很好的做法,但我不能再从公共(pu

javascript - 涡轮链接 5 : Add external javascript file from other site in a specific page

我正在使用turbolinks5beta1对于某些特定页面,我想加载一个外部javascript文件。在我的示例中,我有一个联系人页面,我想在其中通过加载googlemapsapi来显示map。它不应在访问根页面时加载,但稍后会在单击联系人页面的链接后被包含。Yieldingajavascriptscripttag在Turbolinks2中工作。但似乎不再工作了。有可能检查javascript是否已经加载,如果需要则异步加载它。像这样:loadScript=(src,callback)->script=document.createElement("script")script.typ

javascript - 如何从 JavaScript 模块模式中的私有(private)函数中调用公共(public)函数

如何从JavaScript模块模式中的私有(private)函数调用公共(public)函数?例如,在下面的代码中,varmyModule=(function(){varprivate1=function(){//Howtocallpublic1()here?//this.public1()won'twork}return{public1:function(){/*dosomething*/}}})();这个问题有人问过twicebefore,每个都有不同的可接受答案。在返回之前保存对返回对象的引用,然后使用该引用访问公共(public)方法。参见answer.在闭包中保存对公共(pu

javascript - 可以从函数原型(prototype)访问私有(private)构造函数范围的变量吗?

根据我对javascript的理解,原型(prototype)方法不能访问构造函数范围内私有(private)的变量,varFoo=function(){varmyprivate='Iamprivate';this.mypublic='Iampublic';}Foo.prototype={alertPublic:function(){alert(this.mypublic);}//willworkalertPrivate:function(){alert(myprivate);}//won'twork}这很有道理,但有没有什么安全且好的方法可以解决这个问题?由于使用原型(prototy

javascript - Jade : load external javascript and call function

我正在学习Express/Node/Jade,现在我想在Jade文件中包含一个来自公共(public)文件夹的javascript文件,只用于该页面。例如,在jade文件中我输入:script(src='/javascripts/test.js')在test.js里面我有一个函数functioncheck_test(){return"It'sworking!"}然后我尝试通过以下方式调用Jade中的函数-vartest_response=check_test()比我得到的错误说“undefinedisnotafunction”和test.js根本没有加载。显然Jade不会加载文件,它们

javascript - 谷歌分析 : External . js 文件

只是为了确认...文件:google.jsvargaJsHost=(("https:"==document.location.protocol)?"https://ssl.":"http://www.");document.write(unescape("%3Cscriptsrc='"+gaJsHost+"google-analytics.com/ga.js'type='text/javascript'%3E%3C/script%3E"));try{varpageTracker=_gat._getTracker("UA-11510668-1");pageTracker._trackPa

javascript - Chrome 扩展 : load and execute external script

我无法将外部js脚本加载到我的chrome扩展中并执行。看起来与thisquestion相同,但我仍然无法弄清楚为什么它在我的情况下不起作用。我的想法是,我想在我的内容脚本中包含一些应该解析网页内容的默认函数。对于一些特定的网页,我想加载和使用特定的解析器,所以我尝试为一个网页加载适当的js脚本,这个脚本应该扩展默认解析器的功能。现在我只尝试从外部脚本执行代码,但有这样的错误:这是我的ma​​nifest.json:{"name":"Extensionname","version":"1.2","description":"Mychromeextension","browser_act

javascript - JavaScript 中的 private 和 public 这两个词到底有多保守

每次构建JS库时,我都有这样的概念:(function(window,undefined){varLibName=function(){varprivateAPI={method:function(){}};varpublicAPI={publicMethod:function(){}};returnpublicAPI;}window.LibName=LibName;})();但我一直渴望只是做:(function(window,undefined){varLibName=function(){varprivate={method:function(){}};varpublic={pu

javascript - 在 React.js 中使用私有(private)变量和方法有没有好的方法

我注意到我可以像这样使用私有(private)变量:varHello=React.createClass(new(function(){varname;this.getInitialState=function(){name="Sir"+this.props.name;returnnull;};this.render=function(){returnHello{name};};})());React.render(,document.getElementById('container'));为什么我不应该这样做?谢谢你的帮助 最佳答案