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与MySQL交互使用详解
Oct 09 PHP
php中日期加减法运算实现代码
Dec 08 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
PHP中使用虚代理实现延迟加载技术
Nov 05 PHP
PHP中COOKIES使用示例
Jul 26 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
PHP 绘制网站登录首页图片验证码
Apr 12 PHP
php 如何获取文件的后缀名
Jun 05 PHP
详解PHP处理密码的几种方式
Nov 30 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
php反射学习之不用new方法实例化类操作示例
Jun 14 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 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
?繁体转换的class
2006/10/09 PHP
让你同时上传 1000 个文件 (一)
2006/10/09 PHP
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
2020/02/18 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
IE7提供XMLHttpRequest对象为兼容
2007/03/08 Javascript
基于jQuery的固定表格头部的代码(IE6,7,8测试通过)
2010/05/18 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
Javascript限制网页只能在微信内置浏览器中访问
2014/11/09 Javascript
js滑动提示效果代码分享
2016/03/10 Javascript
Bootstrap网格系统详解
2016/04/26 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
2016/09/22 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
详细讲解vue2+vuex+axios
2017/05/27 Javascript
Vue渲染函数详解
2017/09/15 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
2018/04/05 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
大数据分析用java还是Python
2020/07/06 Python
AmazeUI底部导航栏与分享按钮的示例代码
2020/08/18 HTML / CSS
机电一体化大学生求职信
2013/11/08 职场文书
税务干部鉴定材料
2014/02/11 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
首席执行官观后感
2015/06/03 职场文书