php方法调用模式与函数调用模式简例


Posted in PHP onSeptember 20, 2011

现有某函数与对象如下:

var doubling=function(x){ 
return x*2; 
}; 
var obj={ 
val:100, 
};

函数调用模式时,this被绑定到全局对象。这种情况在对象的属性与方法被初始化时也能够得到反应。现为ojb进行补充如下:
var obj={val:100, 
prop:function(){ 
var that=this; 
document.write('name: '+that+'; type: '+typeof(that)+'<br/>'); 
return doublling(that.val); 
}(), 
get_prop:function(){ 
var that=this; 
document.write('name: '+that+'; type: '+typeof(that)+'<br/>'); 
return doublling(that.val); 
}, 
};

prop使用一个被执行的匿名函数,期望取得所在对象的val值被函数调用模式的doubling()运算的结果;而get_prop为方法调用模式。
脚本加载的时候,obj的属性prop初始化时,语句"name: [object Window]; type: object"输出,使用obj.get_prop()时,语句"name: [object Object]; type: object"输出。前者表明函数体的"this"为全局变量window,后者如所期待的为obj本身。
可以检查属性prop和方法get_prop()的返回值,前者对window对象进行乘法运算,返回NaN,后者等于200。
在obj字面量表达式之外,期望设置new_prop属性和new_get_prop()方法,结果将与前文一致,方法调用模式才会获得this对本身的绑定。
PHP 相关文章推荐
php中mysql模块部分功能的简单封装
Sep 30 PHP
PHP中读写文件实现代码
Oct 20 PHP
PHP对MongoDB[NoSQL]数据库的操作
Mar 01 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
PHP动态柱状图实现方法
Mar 30 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
PHP实现的XML操作类【XML Library】
Dec 29 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
PHP安装memcache扩展的步骤讲解
Feb 14 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
PHP Trait功能与用法实例分析
Jun 03 PHP
Thinkphp5+Redis实现商品秒杀代码实例讲解
Dec 29 PHP
php若干单维数组遍历方法的比较
Sep 20 #PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 #PHP
PHP无刷新上传文件实现代码
Sep 19 #PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 #PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 #PHP
php去除重复字的实现代码
Sep 16 #PHP
PHP与SQL注入攻击防范小技巧
Sep 16 #PHP
You might like
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
关于file_get_contents返回为空或函数不可用的解决方案
2013/06/24 PHP
php生成图形验证码几种方法小结
2013/08/15 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
php实现的用户查询类实例
2015/06/18 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
JQuery 入门实例1
2009/06/25 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
js实现密码强度检测【附示例】
2016/03/30 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
element-ui组件中input等的change事件中传递自定义参数
2019/05/22 Javascript
JS访问对象两种方式区别解析
2020/08/29 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
简单介绍Python下自己编写web框架的一些要点
2015/04/29 Python
python正则表达式之作业计算器
2016/03/18 Python
Python iter()函数用法实例分析
2018/03/17 Python
详解Python 函数参数的拆解
2020/09/02 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
《称象》教学反思
2014/04/25 职场文书
大学生求职信范文
2014/05/24 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
保护地球的宣传语
2015/07/13 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js