草庐IT

javascript - 如何将一个类的所有方法绑定(bind)到javascript中的 'this'变量

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。社区在1年前审查了是否重新打开这个问题,然后将其关闭:原始关闭原因未解决Improvethisquestion我有一个JavaScript类(MyClass),它公开了两个公共(public)函数(funA和funB),如下所示:varMyClass=function(){this.funA=function(){console.log("functionA");this.funB();};this.funB=function

javascript - 使用 javascript 更改 CSS 类属性?

我定义了一个CSS类,将其命名为:.Foo{position:fixed;left:50px;top:50px;}我在屏幕上绝对定位元素的位置。在我的网页执行过程中,我创建和删除了许多元素并给它们上课Foo.当我调整浏览器大小时,我想更改left和topFoo上的值class所以all的位置Foo元素因计算而改变。我不想简单地更改样式表,我想计算一个值并使所有当前和future的Foo元素有新计算的left和top值(value)。这个网站有一个例子,但是代码很复杂。http://www.shawnolson.net/a/503/altering-css-class-attribute

javascript - 在闭包内声明的类与没有闭包的标准类

通常我使用基于原型(prototype)的标准OOP方法,我的类看起来像这样varstd=function(){this.log=function(msg){console.log("wanttobeprivate."+msg)};};std.prototype={logInfo:function(msg){this.log(msg);}};但在那种情况下,log是公共(public)方法,任何人都可以使用它。但我想将其设为私有(private),但在原型(prototype)中声明的方法中仍然可用。为此,我们需要闭包。代码会改成这样varclosureStd=(function(){

javascript - ES6 类私有(private)成员语法

这个问题在这里已经有了答案:PrivatepropertiesinJavaScriptES6classes(41个回答)关闭6年前。我有一个简短的问题。在ES6类中声明私有(private)成员的最简洁直接的方法是什么?也就是说,如何实现functionMyClass(){varprivateFunction=function(){return0;};this.publicFunction=function(){return1;};}作为classMyClass{//???publicFunction(){return1;}}

javascript - ECMAScript/Javascript 6 中的类是否需要 IIFE?

如果我有ClassCar{}我需要用我们的函数闭包来包装它吗?var会被提升到窗口吗?还是只是去上课?转译时呢?Traceur/babel会把它变成IIFE并让我们变成var吗?我需要:(function(){ClassCar(){}}());为了安全? 最佳答案 不需要像此处所示的类car的IIFE包装器,事实上,这将创建一个执行上下文并从页面的其余部分隐藏该类。所以你只需将其保留为(不是小写)classCar(){}Var仍然以与之前相同的方式被提升。它将被提升到执行上下文的顶部。如果代码当前位于窗口的上下文中,那么var将在此

javascript - 如何在 TypeScript 中键入带有类的数组?

我有一个应用程序,它通过运行其方法.init(params)进行初始化,如下所示:app.init([TopBar,StatusBar,MainArea]);其中TopBar、StatusBar和MainArea是类,而不是类的实例。这些类中的每一个都实现相同的接口(interface)IComponent。我想从.init(params)方法中传递的类中实例化对象,如下所示:init(params:IComponent[]):void{params.map(function(component){letcomp=newcomponent();this.components[comp.

javascript - angular 5 - 仅当数组中存在元素时才添加类

在使用ng-for循环时,我想将类添加到项目,前提是项目的id存在于其他一些对象列表中。我试过这样的:item.Id==p.id)">或者这个:item.Id==p.id)?'Flag':''">但它没有编译。请注意,“favoriteList”可能会在“products”之后加载到页面。知道我该怎么做吗?谢谢! 最佳答案 问题出在你的some()方法上,举个例子component.html{{p.name}}component.css.Flag{background:red;}和component.tsproducts=[{"id

JavaScript 从非 ES6 类覆盖到 ES6 类

在我的Webapp中,我需要实现一个API,它不包含任何ES6类定义,但我想扩展其中一个类并覆盖一些方法。覆盖无法正常工作...functionA(){this.msg=function(){console.log("A");}}classB{constructor(){A.call(this);}msg(){console.log("B");}}newB().msg();我希望结果是“B”,但是“类”A的方法被执行了。 最佳答案 问题是在A中,msg函数附加到构造函数中的this-那也就是说,msg属性直接附加到实例对象本身,而不

javascript - 类方法与类字段函数与类字段箭头函数之间有什么区别?

类方法、作为函数的类属性和作为箭头函数的类属性有什么区别?this关键字在方法的不同变体中的行为是否不同?classGreeter{constructor(){this.greet();this.greet2();this.greet3();}greet(){console.log('greet1',this);}greet2=()=>{console.log('greet2',this);}greet3=function(){console.log('greet3',this);}}letbla=newGreeter();这是从TypeScript转译后生成的JavaScript。v

javascript - jquery 切换 id 而不是类?

有没有一种方法可以制作一个切换功能,首先只切换一个css样式元素,例如背景颜色或类似的东西。并且选择一个id而不是一个类,因为我知道toggleClass,但我只是想知道是否可以使用ids代替?$("#gallery").load('http://localhost/index.php/site/gallerys_avalible/#gallerys_avalible');$('li').live('click',function(e){e.preventDefault();if(!clickCount>=1){$(this).css("background-color","#CC00