|
|
1
1
Javascript对象是transformers(TM),它们可以从一种形式转换到另一种形式。 在实践中,这种情况只发生在充实物体上,而不会造成伤害。例如,它允许升级现有的“类”,而不是子类化或重新修饰实例,从而消除创建更多“类”的需要。举个例子:
想象一下,如果没有动态对象,上面的代码将执行什么操作,而您无法执行以下操作:
你可以用更简单的方式丰富/个性化对象。 |
|
|
2
7
我不敢相信我会引用蜘蛛侠的话,但是
JavaScript功能强大、灵活,给程序员很大的自由。它并没有为阻止程序员编写错误代码而设计的功能。当您编写JavaScript时,您负责确保代码是好的,而不是语言。 |
|
|
3
2
你不能,没有什么能阻止我对你的对象做任何我想做的事;)但是,你不必使用这些变量。。 您可以做的一件事是使用作用域,例如:
在这个简单的示例中,您可以将内部变量存储在myState中(或“var text='';”等),但它们不能从外部访问,因为它们不是对象的成员,只是函数中的私有变量。而且,如您所见,函数say仍然可以访问它。 |
|
|
4
2
简而言之:完全没有。 长答案: Javascript在很多方面都是一种动态语言,而不仅仅是类型系统。语言中所有类似对象的东西基本上都是一个可以随意添加的关联数组。变量(显然可以包含这些类似对象的东西)只存在于它们的函数范围内。 您可以使用这一点来模拟私有成员,这可以在一定程度上缓和这种情况。我之前已经发布过好几次这样的例子,所以我将只向您介绍关于这个主题的权威指南: http://javascript.crockford.com/private.html . 至于以一种你不想用的方式向对象添加新成员,实际上没有什么事情要做,这就是语言的方式。
当接近javascript时,试着记住它并不是一种OOP语言,而是一种功能/原型与一些OOP思想的奇妙结合。不要被类似java的语法所愚弄,如果你发挥语言的优势而不是模仿java,你会有更好的时间。 |
|
|
simply lemon · python上链表的添加方法 1 年前 |
|
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 1 年前 |
|
|
P N Singh · 在CPP Oops中调用对象而不创建它 1 年前 |
|
|
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 1 年前 |
|
|
Andy Votava · 从父类定义调用学生方法 1 年前 |