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求两个目录的相对路径示例(php获取相对路径)
Mar 27 PHP
修改destoon会员公司的伪静态中的com目录的方法
Aug 21 PHP
php使用curl获取https请求的方法
Feb 11 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
Feb 12 PHP
十幅图告诉你什么是PHP引用
Feb 22 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
CI框架常用方法小结
May 17 PHP
Android AsyncTack 异步任务实例详解
Nov 02 PHP
php注册审核重点解析(数据访问)
May 23 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
PHP设计模式之简单工厂和工厂模式实例分析
Mar 25 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
Apr 06 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调用wsdl文件类型的接口代码分享
2014/11/19 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
2015/11/17 Javascript
jquery实现简单的banner轮播效果【实例】
2016/03/30 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
最基础的vue.js双向绑定操作
2017/08/23 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
详解django模板与vue.js冲突问题
2019/07/07 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
Java Varargs 可变参数用法详解
2020/01/28 Javascript
Python中设置变量访问权限的方法
2015/04/27 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
python之信息加密题目详解
2019/06/26 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
python 3.8.3 安装配置图文教程
2020/05/21 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
外贸业务员求职信范文
2013/12/12 职场文书
社区党员先进事迹
2014/01/22 职场文书
企业后勤岗位职责
2014/02/28 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
募捐倡议书
2014/04/14 职场文书
求职信内容怎么写
2014/05/26 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
教师辞职信范文
2015/02/28 职场文书
道歉的话怎么说
2015/05/12 职场文书
圣贤教育改变命运观后感
2015/06/16 职场文书
Python基础之赋值,浅拷贝,深拷贝的区别
2021/04/30 Python
Python集合set()使用的方法详解
2022/03/18 Python