Javascript中的类方法
Class methods in Javascript
本文关键字:类方法 Javascript 更新时间:2023-09-26
我正在尝试学习如何将基本的面向对象概念应用于Javascript。这里,我只希望能够创建一个类方法,然后在单击<input>
元素时从外部调用该方法:
<html>
<head>
<script type="text/javascript">
var Foo = function()
{
}
Foo.prototype.bar = function() { alert("blah"); }
</script>
</head>
<body>
<input type="submit" onclick = "Foo.bar()">
</body>
</html>
这行不通。Firefox给出错误error: Foo.bar is not a function
然而,如果我直接调用Foo()
,然后从Foo
内调用this.bar()
,它工作得很好。为什么我不能在外部调用Foo.bar()
?
我想你混淆了所谓的实例方法和类方法。
prototype
用于创建实例方法,这些方法属于与new
关键字一起使用时从prototype
创建的对象:
var foo = new Foo();
foo.bar(); // Will work
我不确定这是你想要的。更有可能的是,您只是想在Foo
:中添加一个静态类方法var Foo = {};
Foo.bar = function () { alert('blah'); };
Foo.bar(); // Will work
用Foo.bar = function() {...}
代替Foo.prototype.bar...
,这只会在Foo
函数对象上添加一个bar
成员。
要访问prototype
或this.*
成员,首先需要一个实例:new Foo().bar()
.
我几年前写的解释;它解释了JavaScript类结构的来龙去脉:
http://www.htmlgoodies.com/primers/jsp/article.php/3600451/javascript -基础-部分- 8. - htm
相关文章:
- Javascript中的类方法
- 从类方法中的 ajax post 函数回调函数更改 javascript 类属性
- 如何将类方法设置为等于多个函数?-Javascript
- 使用javascript创建自己的隐藏类方法
- javascript ES6类/方法范围
- 我应该如何从 html 调用 javascript 类方法
- 从 javascript 函数获取类方法
- Javascript子类化,超级构造函数和使用自定义扩展会丢失基类方法
- Javascript 从父级中定义的继承类方法访问类变量
- 从 html 事件调用 javascript 类方法的正确方法
- 在 objective-c 中是否有类似的 JavaScript 应用方法
- 如何调用内部 JavaScript 类方法
- 我们如何在 javascript 类方法中传递参数
- 如何在 JavaScript 中定义类方法以确保模块化和性能
- 类方法如何在 javascript 中实现
- 使用来自 JSON 请求的方法和类创建 Javascript 对象
- 从同一类中的另一个方法调用 javascript 类方法
- JavaScript类方法未执行
- 将数组从javascript类方法返回到脚本
- 在多个文件中拥有多个类的Javascript快速方法