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中显示格式化的用户输入
Oct 09 PHP
PHP 编程的 5个良好习惯
Feb 20 PHP
火车头discuz6.1 完美采集的php接口文件
Sep 13 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
php获取远程图片体积大小的实例
Nov 12 PHP
ThinkPHP中U方法的使用浅析
Jun 13 PHP
smarty实现多级分类的方法
Dec 05 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
php 类自动载入的方法
Jun 03 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 PHP
php post换行的方法
Feb 03 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 ip2long 出现负数的原因及解决方法
2017/04/05 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
arguments对象
2006/11/20 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
JS实现样式清新的横排下拉菜单效果
2015/10/09 Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
2015/11/17 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
用js实现放大镜的效果的简单实例
2016/05/23 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
2018/09/13 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
Python命名空间详解
2014/08/18 Python
python遍历目录的方法小结
2016/04/28 Python
Python编码类型转换方法详解
2016/07/01 Python
TensorFlow变量管理详解
2018/03/10 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
python求最大公约数和最小公倍数的简单方法
2020/02/13 Python
python如何使用腾讯云发送短信
2020/09/17 Python
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
金融行业职业生涯规划范文
2014/01/17 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
员工工作表现评语
2014/04/26 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
煤矿安全生产标语
2014/06/06 职场文书
工作所在部门证明
2014/09/21 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
考试作弊检讨书范文
2015/01/27 职场文书
统计员岗位职责范本
2015/04/14 职场文书
前台接待员岗位职责
2015/04/15 职场文书
办公室日常管理制度
2015/08/04 职场文书
服装店员工管理制度
2015/08/07 职场文书
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript