我更喜欢将OOP用于目前正在从事的大型项目中。我需要用JavaScript创建几个类,但是,如果我没记错的话,至少有两种方法可以做到这一点。语法是什么,为什么要用这种方式呢?
我想避免使用第三方库-至少在一开始。
在寻找其他答案时,我找到了文章“ _[使用JavaScript进行面向对象的编程”,第I部分:继承文档JavaScript ,该文章讨论了JavaScript中的面向对象的编程。有更好的继承方法吗?
这是不使用任何外部库的方式:
// Define a class like this
function Person(name, gender){
// Add object properties like this
this.name = name;
this.gender = gender;
}
// Add methods like this. All Person objects will be able to invoke this
Person.prototype.speak = function(){
alert("Howdy, my name is" + this.name);
};
// Instantiate new objects with 'new'
var person = new Person("Bob", "M");
// Invoke methods like this
person.speak(); // alerts "Howdy, my name is Bob"
现在,真正的答案要复杂得多。例如,JavaScript中没有类。JavaScript使用prototype
基于的继承方案。
此外,还有许多流行的JavaScript库,它们具有自己的样式,它们近似于JavaScript中的类功能。您将至少要签出Prototype和jQuery。
确定其中哪一个是“最佳”是在Stack
Overflow上发起一场神圣战争的好方法。如果您正着手进行一个较大的JavaScript大型项目,那么绝对值得学习流行的库并按自己的方式去做。我是一个原型人,但是StackOverflow似乎倾向于jQuery。
至于只有“一种方法”,而没有对外部库的任何依赖,我写的方式就差不多了。
问题内容: 即使在不同的浏览器中,此代码也始终有效: 但是,我找不到关于为什么它应该起作用的单一参考。我首先在John Resig的演示文稿中看到了这一点,但仅被提及。那里或任何地方都没有解释。 有人可以启发我吗? 问题答案: 该声明是魔术,使它的标识符在代码块*中的任何内容执行之前就被绑定了。 这与带有表达式的赋值不同,后者以正常的自上而下的顺序求值。 如果将示例更改为说: 它将停止工作。 函数
前端的知识点是零碎的,中高阶前端开发人员能做哪些技术项目,提高自己的抽象和架构层次呢?
问题内容: 哪些技术可以有效地应用于提高SQL查询的性能?是否有适用的一般规则? 问题答案: 使用主键 避免选择* 建立条件语句时要尽可能具体 去标准化通常可以更有效 表变量和临时表(如果有)通常会比使用大型源表更好 分区视图 使用指标和约束
假设有一个类人 当我创建一个Person类的bean时,我需要一个Person bean具有地址属性,该属性具有value street作为“Baker Lane”。是否可以在Person类中使用autowire来实现这一点或者根本无法实现? 顺便说一下,这是一个面试问题
考虑这两个Python文件: 人们会期望他们做完全相同的事情。但他们没有! 为什么的定义可以访问全局范围,而不能访问的范围? 为什么应该工作,而不应该工作?这是一个设计决策,还是CPython未定义的行为? 在计算类变量的值时,哪些变量/作用域可以访问的一般规则是什么?我什么时候应该考虑允许在定义类变量时使用哪个范围
请问一下什么是stub types definition, 它的好处是什么?我们应该如何定义使用?