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 程式大小
Dec 06 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
PHP中PDO的错误处理
Sep 04 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
克隆一个新项目的快捷方式
Apr 10 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
Aug 16 PHP
PHP 实现代码复用的一个方法 traits新特性
Feb 22 PHP
php利用事务处理转账问题
Apr 22 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
微信自定义分享php代码分析
Nov 24 PHP
php封装单文件上传到数据库(路径)
Oct 15 PHP
PHP基于array_unique实现二维数组去重
Jul 14 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
漫威DC御用漫画家去世 他的表情包曾走红网络
2020/04/09 欧美动漫
第4章 数据处理-php字符串的处理-郑阿奇(续)
2011/07/04 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
2012/03/05 PHP
关于php正则匹配汉字的方法介绍
2013/04/25 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
PHP框架自动加载类文件原理详解
2017/06/06 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
PHP常量DIRECTORY_SEPARATOR原理及用法解析
2020/11/10 PHP
js玩一玩WSH吧
2007/02/23 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
2011/07/26 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
使用validate.js实现表单数据提交前的验证方法
2018/09/04 Javascript
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
python在linux中输出带颜色的文字的方法
2014/06/19 Python
python类装饰器用法实例
2015/06/04 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
Python中list查询及所需时间计算操作示例
2018/06/21 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
Python生成个性签名图片获取GUI过程解析
2019/12/16 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
2014年教师培训的自我评价
2014/01/03 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
《将心比心》教学反思
2014/04/08 职场文书
小学毕业演讲稿
2014/04/25 职场文书
企业员工爱岗敬业演讲稿
2014/08/26 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
2015教师年度考核评语
2015/03/25 职场文书
环保建议书作文500字
2015/09/14 职场文书