![]() |
1
404
使用原型:
隐藏“color”(有点像私有成员变量):
用途:
|
![]() |
2
248
这是一个我在javascript中用于OOP类似行为的模板。如您所见,您可以使用闭包模拟私有(静态和实例)成员。什么
我被问到使用这个模式继承的问题,下面是:
以及一个使用它的例子:
如您所见,这些类彼此正确地交互(它们共享来自
需要注意的一点是需要隐藏实例属性。你真的可以
对于原型上的方法,您不需要担心上面的问题,但是,如果您想要访问超级类的原型方法,您可以调用
|
![]() |
3
166
在我看来,你们大多数人都在举getter和setter的例子,而不是构造函数。 http://en.wikipedia.org/wiki/Constructor_(object-oriented_programming) . 吃过午饭的丹离我们更近了,但这个例子在jsiddle中不起作用。 这个例子创建了一个只在对象创建期间运行的私有构造函数函数。
如果要分配公共属性,则可以将构造函数定义为:
|
![]() |
4
23
构造器属性的要点是提供一些假装javascript具有类的方法。其中一件事就是你 不能 有效的做法是在创建对象后更改其构造函数。这很复杂。 几年前我写了一篇相当全面的文章: http://joost.zeekat.nl/constructors-considered-mildly-confusing.html |
![]() |
5
16
例子如下: http://jsfiddle.net/FZ5nC/ 尝试此模板:
如果要定义静态类,则必须调整命名空间:
实例类:
示例实例化:
注意函数被定义为a.b=函数a_b()。这是为了使脚本更容易调试。打开chrome的inspect element面板,运行此脚本,然后展开debug backtrace:
|
![]() |
6
10
这是一个构造函数:
当你这样做的时候
|
![]() |
7
8
我发现这个教程非常有用。大多数jquery插件都使用这种方法。
现在,
|
![]() |
8
8
这种模式对我很有帮助。使用这种模式,您可以在单独的文件中创建类,并根据需要将它们加载到整个应用程序中。
|
![]() |
9
8
是的,可以这样定义类声明中的构造函数:
|
![]() |
10
6
我想我会发布我对JavaScript闭包所做的,因为还没有人使用闭包。
欢迎对此解决方案提出意见和建议。:) |
![]() |
11
4
使用上面的尼克示例,可以为对象创建一个构造函数 没有 使用返回语句作为对象定义中的最后一条语句的参数。按如下所示返回构造函数函数,它将在每次创建对象时运行\构造中的代码:
|
![]() |
12
3
如果你用的话 Typescript -从Microsoft打开源代码:-)
typescript允许您“伪造”被编译成javascript构造的OO构造。如果您正在启动一个大型项目,它可能会节省您很多时间,并且它刚刚达到里程碑1.0版本。 http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf 以上代码将“编译”为:
|
![]() |
13
3
也许会简单一点,但下面是我在2017年提出的建议:
在使用上面的类时,我有以下内容:
如您所见,构造函数接受两个参数,我们设置了对象的属性。我们还通过使用
有点晚了,但我希望这有帮助。我用一个
|
![]() |
14
1
在javascript中,调用类型定义函数的行为:
函数作为
构造函数
调用时使用
javascript中的任何实例或原型对象都有一个属性
检查 this post 关于构造函数属性。 |
![]() |
15
0
当从上面使用Blixt的伟大模板时,我发现它在多层继承(MyGrandChildClass扩展MyChildClass扩展MyClass)中不能很好地工作,它反复调用第一个父类的构造函数。因此,如果您需要多层次继承,而不是使用
|
![]() |
16
0
http://www.jsoops.net/ 在JS中非常适合OOP。如果提供private、protected、public变量和函数,以及继承功能。示例代码:
|
![]() |
17
0
只是提供一些多样性。 ds.oop 是用JavaScript中的构造函数声明类的好方法。它支持所有可能的继承类型(包括1个甚至C都不支持的类型)以及很好的接口。
|
![]() |
18
0
这里我们需要注意Java脚本中的一个点,它是一个无类语言,但是,我们可以通过使用Java脚本中的函数来实现它。最常见的实现方法是,我们需要在Java脚本中创建一个函数并使用 新的 关键字 创建对象并使用 这 关键字 定义属性和方法。下面是示例。
|
![]() |
19
-2
在大多数情况下,在调用传递此信息的方法之前,必须以某种方式声明所需的属性。如果最初不需要设置属性,可以这样在对象内调用方法。也许这不是最漂亮的方法,但这仍然有效。
|
![]() |
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 3 月前 |
![]() |
Alex · 在轻量级中同时解构和不解构变量 3 月前 |
![]() |
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 3 月前 |
![]() |
bairog · 从按属性筛选的对象数组字典中创建值数组 3 月前 |
![]() |
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 4 月前 |