php方法调用模式与函数调用模式简例
2015-01-24信息快讯网
函数调用模式时,this被绑定到全局对象。这种情况在对象的属性与方法被初始化时也能够得到反应。
现有某函数与对象如下: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静态调用非静态方法的应用分析
Mysql中分页查询的两个解决方法比较
记录mysql性能查询过程的使用方法
PHP执行批量mysql语句的解决方法
基于curl数据采集之正则处理函数get_matches的使用
基于curl数据采集之单页面并行采集函数get_htmls的使用
基于curl数据采集之单页面采集函数get_html的使用
基于php上传图片重命名的6种解决方法的详细介绍
php 目录遍历、删除 函数的使用介绍
php中get_headers函数的作用及用法的详细介绍
PHP将DateTime对象转化为友好时间显示的实现代码
php若干单维数组遍历方法的比较
php中模拟POST传递数据的两种方法分享
php中获得视频时间总长度的另一种方法
PHP获取MAC地址的函数代码
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
PHP中通过语义URL防止网站被攻击的方法分享
php中将网址转换为超链接的函数
PHP url 加密解密函数代码
PHP 无限分类三种方式 非函数的递归调用!
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法