如何在 Javascript 中添加和调用来自构造函数的函数(使用 JQuery)
How to add and call functions from constructors in Javascript (uses JQuery)
我使用以下代码创建了一个对象文字。一切正常。
但是,当我尝试通过创建对象构造函数和相应的对象来重写对象文字,然后使用"点语法"执行该方法时,没有任何反应。我不清楚我做错了什么。下面的示例使用 JQuery。
谢谢。
对象文字(工作)
<!DOCTYPE=HTML>
<meta chartset="UTF-8">
<title> whatever </title>
<script type="text/javascript"> </script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" charset="utf-8"></script>
<div id="theDiv"></div>
<style>
#theDiv{
position:absolute;
width:200px;
height:200px;
background:#f00;
}
</style>
<script>
$(document).ready(function(){
var myObj = {};
myObj.doThing = function () {
$("#theDiv").toggle(3000);
};
myObj.doThing();
});
</script>
带对象的构造函数(非工作)
<!DOCTYPE=HTML>
<meta chartset="UTF-8">
<title> whatever </title>
<script type="text/javascript"> </script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" charset="utf-8"></script>
<div id="theDiv"></div>
<style>
#theDiv{
position:absolute;
width:200px;
height:200px;
background:#f00;
}
</style>
<script>
$(document).ready(function(){
function ConstructorExample (){
this.move = function () {
$("#theDiv".toggle(3000);
};
};
var objExample = new ConstructorExample();
objExample.move();
});
</script>
第二个示例中存在语法错误。
更改此设置:
$("#theDiv".toggle(3000);
对此:
$("#theDiv").toggle(3000);
这不是为了解决你的问题(因为约瑟夫已经回答了),而是一个更好的做法供你参考:
更改自:
function ConstructorExample (){
this.move = function () {
$("#theDiv").toggle(3000);
};
};
更改为:
var ConstructorExample = function ConstructorExample () {
this.node = $("#theDiv");
};
ConstructorExample.prototype.move = function () {
if (!!this.node) {
this.node.toggle(3000);
}
};
它的行为相同,但通过使用原型链,它不会在您每次启动对象时创建 move 函数(速度更快),并且可以进行原型继承。
相关文章:
- 对使用函数构造函数创建的函数的内部引用
- 获取使用函数构造函数创建的函数的名称
- JavaScript 访问函数构造函数中的“this”
- JavaScript中的对象与函数构造函数
- 为什么实例构造函数指向最上面的函数构造函数对象
- 是否可以在函数构造函数中识别哪个对象调用它,并在错误的对象调用时中止创建
- Javascript新函数构造函数没有't返回所需的值
- Crockford 伪经典继承部分中的函数构造函数
- Jasmine:如何在ES6上监视导入的函数/构造函数
- 请解释有关 JavaScript 中的原型属性和函数构造函数的详细信息
- 主干.js - n捕获异常:语法错误:函数构造函数:无法编译函数
- 为什么使用函数构造函数创建的 Javascript 函数无法访问在其外部定义的其他函数
- 从全局范围内的另一个函数 - Javascript 调用函数构造函数的方法
- Javascript - 在闭包中使用函数构造函数是一个坏主意吗?
- Javascript - 为什么“函数构造函数”被称为“函数构造函数”
- 高级语法:“0[构造函数][构造函数]()()” - 它如何计算代码
- 函数构造函数中的局部变量
- 带有setTimeout的函数构造函数
- 如何使用exports或module.exports将函数构造函数对象方法与原型封装在单个模块中
- 如何正确映射函数构造函数