草庐IT

private_method

全部标签

javascript - 在 ES6 类中拥有私有(private)属性和方法

这个问题在这里已经有了答案:PrivatepropertiesinJavaScriptES6classes(41个回答)关闭6年前。我只是在试用ES6,并想将用常规javascript编写的一部分代码重写为ES6。现在,我在尝试重写ES6类中的私有(private)属性和方法时遇到了困难。似乎ES6中的类没有明确提供任何拥有私有(private)数据或方法的东西。另外,我检查了这个线程:PrivatepropertiesinJavaScriptES6classes并发现我们可以使用WeakMap来存储私有(private)数据。这有点奇怪,但仍然可以解决。而且我确实设法将它用于私有(p

javascript - 有什么方法可以避免使用 JSDoc "@method"注释

我个人不是生成文档的忠实拥护者(我更像是一个“阅读源代码Luke”的人),但我可以看到此类文档对其他人有何用处。现在,通常他们生成的文档不会影响我,除了一件事:@method。大多数JSDoc注释(例如@param)对于阅读源代码的人来说仍然非常有用,但是@method是100%冗余的:/**@paramnumnumbertoaddfiveto*@methodaddFive*/functionaddFive(num){...所以,我真的很想避免让数百行@method弄乱我们的代码。但是,我的同事认为@method是JSDoc生成器(他使用的是YUI生成器)能够生成类的方法列表所必需的。

javascript - 如何在javascript中定义私有(private)构造函数?

我在JS中定义了纯对象,它公开了某些应该用于构造它们而不是构造函数的静态方法。如何在Javascript中为我的类创建一个私有(private)的构造函数?varScore=(function(){//TheprivateconstructorvarScore=function(score,hasPassed){this.score=score;this.hasPassed=hasPassed;};//ThepreferredsmartconstructorScore.mkNewScore=function(score){returnnewScore(score,score>=33);

javascript - 主干 View 的私有(private)和公共(public)变量

在BackboneView中,您会将私有(private)变量和公共(public)变量放在哪里。现在我有这样的东西:myView=Backbone.View.extend({initialize:function(options){this.myPublic="I'mpublic";}});我尝试在初始化方法之前添加一个varmyPrivate但它抛出了一个错误。只在View中使用的私有(private)变量会去哪里? 最佳答案 我建议您使用initialize方法作为所有其他方法的闭包。我认为这将使您的行为与我们在经典继承语言(

javascript私有(private)函数访问公共(public)变量

我有这门课:functionctest(){this.var1="haha";this.func1=function(){alert(this.var1);func2();alert(this.var1);}varfunc2=function(){this.var1="huhu";}}并称它为:varmyobj=newctest();myobj.func1();不是应该第二个警报会弹出“huhu”吗?func2是私有(private)的,它不能访问var1公共(public)变量吗?如果私有(private)函数不能访问公共(public)变量,我该怎么做?提前致谢!

javascript - Internet Explorer 11 : Object doesn't support property or method 'isInteger'

我在InternetExplorer控制台中遇到此错误“对象不支持属性或方法‘isInteger’”,我该如何解决?代码:functionverificaNota(nota){if(nota.length>0){vararr=[];if(nota.indexOf(".")!=-1){returnferificareArrayNote(nota.split('.'));}elseif(nota.indexOf(",")!=-1){ferificareArrayNote(nota.split(','));}elseif(nota.length0){returntrue;}else{retu

javascript - 类型错误 : Cannot call method 'then' of undefined Angularjs

我是Angular的新手,在进行同步操作时遇到了问题。我已经解决了AngularController出现的几个问题,我从newController文件中得到错误“无法调用未定义的方法”。angular.module('newApp.newController',['angularSpinner','ui.bootstrap']).controller('newController',function($q,$scope,utilityFactory,$http){utilityFactory.getData().then(function(data){console.log("succ

javascript - jQuery 中转 : Object none has no method 'setFromString'

我已经在jQuerytransit中加载了,我确定我是在加载jQuery之后才做的,但我仍然得到这个错误:我查看了Chrome中的资源面板,在jQuery之后加载了jQuerytransit。它也已正确加载,并且没有出现任何问题。我也在控制台测试过,测试网站上的例子。他们都返回同样的错误。这是我的代码:$("#current-employersa.industry-company-link").click(function(e){e.preventDefault();varurl=$(this).attr("href");varcompany_container=$("#current

javascript - 为什么将 `this` 分配给 `self` 并运行 `self.method()` ?

我正在阅读来自mongoose的源代码Collection.prototype.onOpen=function(){varself=this;this.buffer=false;self.doQueue();};我不明白为什么作者将this赋值给self并运行self.doQueue()。为什么不直接运行:this.buffer=false;this.doQueue();我是javascript的新手,感谢您的帮助。 最佳答案 你是对的,在这种情况下,他们可以简单地使用this。使用me或self是为了确保使用正确的this上下文,

javascript - 未捕获的类型错误 : Object [object Object] has no method "fancybox"

我对fancybox(2.x)有一个非常奇怪的问题。我使用这个脚本已经很久了,但我以前没有遇到过这样的问题。所以,我有网站:http://tinyurl.com/6mx7an8我已经按照手册中的说明包含了每个jquery/fancybox文件,但是JS控制台给了我错误UncaughtTypeError:Object[objectObject]没有方法'fancybox'你知道我做错了什么吗?任何帮助将不胜感激:) 最佳答案 您的网站有几个问题。您在包含fancybox插件js之前和之后两次包含jQuery库,因为第二次包含jQuer