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设计模式 Command(命令模式)
Jun 26 PHP
基于MySQL体系结构的分析
May 02 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
Jun 03 PHP
浅谈php和.net的区别
Sep 28 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
Dec 29 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
PHP截取发动短信内容的方法
Jul 04 PHP
一个实用的php验证码类
Jul 06 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 PHP
php格式文件打开的四种方法
Feb 24 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PHP中的异常处理机制深入讲解
Nov 10 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抓即时股票信息
2006/10/09 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
js对象数组按属性快速排序
2011/01/31 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
2011/05/24 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
利用JavaScript缓存远程窃取Wi-Fi密码的思路详解
2018/11/05 Javascript
JS简单表单验证功能完整示例
2020/01/26 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
利用python库在局域网内传输文件的方法
2018/06/04 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
基于Python实现简单学生管理系统
2020/07/24 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
Sephora丝芙兰印尼官方网站:购买化妆品和护肤品
2018/07/02 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
Rossignol金鸡美国官网:始于1907年法国百年雪具品牌
2019/03/06 全球购物
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
晚会开幕词
2015/01/28 职场文书
个人催款函范文
2015/06/23 职场文书
母亲节主题班会
2015/08/14 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
5个pandas调用函数的方法让数据处理更加灵活自如
2022/04/24 Python