Javascript中的调用模式
时间:2010-08-09
来源:互联网
1.方法调用模式
2.函数调用模式
3.构造器调用模式
4.apply调用模式
作者: tonwely_1984 发布时间: 2010-08-09
作者: WebAdvocate 发布时间: 2010-08-09
作者: tonwely_1984 发布时间: 2010-08-09
建议lz辅以例子 和 兼容性测试
那么此帖就精彩了
作者: WebAdvocate 发布时间: 2010-08-09
1.方法调用
<script type="text/javascript">
<!--
var myObject = {
value:0,
increment: function(inc){
this.value += typeof inc === 'number' ? inc : 1;
}
};
myObject.increment();
document.write(myObject.value + "<br />"); // result is 1
myObject.increment(2);
document.write(myObject.value + "<br />"); //result is 3
//-->
</script>
2.函数调用
<script type="text/javascript">
<!--
var myObject = {
value:0,
increment: function(inc){
this.value += typeof inc === 'number' ? inc : 1;
}
};
myObject.double = function(){
var that = this; //当以函数调用的时候this指向的是全局对象
function add(num1, num2){ return num1 + num2; };
var helper = function(){
that.value = add(that.value, that.value);
};
helper(); //以函数的形式调用 helper
}
myObject.double();
document.writeln(myObject.value);
//-->
</script>
3.构造器调用
<script type="text/javascript">
<!--
//创建一个名为Quo的构造器函数,它构造一个带有status属性的对象
var Quo = function(string){
this.status = string;
}
//给Quo所有实例提供一个名为get_status的公共方法
Quo.prototype.get_status = function(){
return this.status;
}
//构造一个Quo实例
var myQuo = new Quo("confused");
document.writeln(myQuo.get_status());
//-->
</script>
4.apply调用模式
<script type="text/javascript">
<!--
//创建一个名为Quo的构造器函数,它构造一个带有status属性的对象
var Quo = function(string){
this.status = string;
}
//给Quo所有实例提供一个名为get_status的公共方法
Quo.prototype.get_status = function(){
return this.status;
}
//构造一个包含status成员的对象
var statusObject = {
status:"A-OK"
}
var status = Quo.prototype.get_status.apply(statusObject);
document.writeln(status);
//-->
</script>
作者: tonwely_1984 发布时间: 2010-08-09
非常实用
作者: WebAdvocate 发布时间: 2010-08-09
作者: jamesanthony 发布时间: 2010-08-09
作者: mochimo 发布时间: 2010-08-09
中午听说了个去百度面试的好玩问题,百度的人说面试者没有说清this的作用域……
他们可真逗啊
貌似是把两个概念搞混淆了。
作者: mochimo 发布时间: 2010-08-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28