js对象内部访问this修饰的成员函数示例
用wrapper封装这样在对象内外都可以访问
function MapPool(){
function createMarker(name, lat, lng, state){
var marker = new AMap.Marker({
position : new AMap.LngLat(lng, lat),
});
//the function mapMoveTo is not accessible here too
AMap.event.addListener(marker, "click",function(e){
//moveMapTo(key, name, state)
//or this.moveMapTo(key, name, state) will raise a unresolved function error
//you should write wrapper function as a member variable
_mapMoveTo(key, name, state);
});
}
var _mapMoveTo = function(key, name, state){
//TODO
}
this.mapMoveTo = function(key, name, state) {
_mapMoveTo(key, name, state);
}
}
相关推荐
-
浅谈Javascript中的函数、this以及原型
关于函数 在Javascript中函数实际上就是一个对象,具有引用类型的特征,所以你可以将函数直接传递给变量,这个变量将表示指向函数"对象"的指针,例如: function test(message){ alert(message); } var f = test; f('hello world'); 你也可以直接将函数申明赋值给变量: var f = function(message){ alert(message); }; f('hello world'); 在这种情况下,函数申明
-
js原生态函数中使用jQuery中的 $(this)无效的解决方法
我今天的例子是这样的, 复制代码 代码如下: $("ul li").hover(function(){ setTimeout(function(){ $(this).addClass("test"); alert("延迟了0.3s 我出现了!") //测试 },300) }) 在运行时,这个黄色部分是不执行的 ,然后我弹出了一下$(this)原来是undefined (其实已经猜到了): 然后我就没想(习惯),直接到百度找了,然后没找到答案,然后
-
改变javascript函数内部this指针指向的三种方法
在查了大量的资料后,我总结了下面的三条规则,这三条规则,已经可以解决目前我所遇到的所有问题.规则0:函数本身是一个特殊类型,大多数时候,可以认为是一个变量. 复制代码 代码如下: function a() { alert(this); } 或者 var a = function() { alert(this); } 都可以认为是创建了一个变量,这个变量的值就是一个函数. 规则1:如果一个函数,是某个对象的key 值,那么,this就指向这个对象. 这个规则很好理解: 复制代码 代码如下: var
-
JS函数this的用法实例分析
本文实例讲述了JS函数this的用法.分享给大家供大家参考.具体如下: 在js中写函数时,很多用到this. this究竟是什么,this是个关键字,是个指针,指向执行环境作用域,也称之为上下文. 先说下函数吧,个人理解是函数是在语言中重复调用的代码块. 在JS里,把函数赋值给对象的属性时,称之为方法 如: var m={}; m.title='title'; m.show=function(){ alert(this.title) } m.show() 就是把函数作为对象m的方法来调用 这样的
-
js this函数调用无需再次抓获id,name或标签名
this就是你当前要执行的js所抓获的节点,这样在js里就可以不用document.getElement之类的写法来抓获id,name或标签名,省去一些麻烦.一般用obj来代替. 复制代码 代码如下: <input type="button" id="tianjia" value="保 存" class="btn1" onClick="nullCheck(this)"/> <script&
-
深入理解js函数的作用域与this指向
函数的作用域与this指向是js中很重要的一部分,理清这点东西需要个逻辑,看看我的逻辑怎么样... 下面是个提纲,可以直接挑你感兴趣的条目阅读. • 函数的定义方式:直接定义(window下,内部定义),对象的方法,对象原型的方法: • 函数的调用方式:直接调用,call/apply,with • 对于直接定义的函数和对象的方法,作用域默认状态下是它的定义处的作用域链. • 对于直接定义的函数,this指向window. • 对于对象的方法,this指向实例化对象(对应于实例化对象默认返回thi
-
javascript让setInteval里的函数参数中的this指向特定的对象
看到这个题,我蒙了,因为那时候我不清除这个问题,想了半天没想出来,后来到网上一查,在国外的某网站查到说setInterval和setTimeout之后的函数的作用域是全局的,也就是里面的this指向的是全局对象. 这个问题可麻烦了,我经常要在循环函数里用this来引用当前对象,也许你想到可以用闭包,不过实际情况并非如此简单,对象实例多了之后,闭包也乱套了. 我的愿望就是让循环函数里的this仍然指向当前上下文的对象,无需传参数,无需闭包(其实这也是闭包,只是形式上看着比较自然而已); 例如:(一
-
Javascript学习笔记之 函数篇(二) : this 的工作机制
全局作用域下 this; 当在全局作用域中使用 this,它指向全局对象. 这里详细介绍下全局对象: 全局对象(Global object) 是在进入任何执行上下文之前就已经创建了的对象: 这个对象只存在一份,它的属性在程序中任何地方都可以访问,全局对象的生命周期终止于程序退出那一刻. 全局对象初始创建阶段将 Math.String.Date.parseInt 作为自身属性,等属性初始化,同样也可以有额外创建的其它对象作为属性(其可以指向到全局对象自身).例如,在 DOM 中,全局对象的 win
-
Javascript this 函数深入详解
js this 函数详解 本文对Javascript this函数进行详细介绍,及知识的总结整理,彻底明白js this 函数该如何使用. this 代码函数调用时, .1直接调用函数则为this则指向window对象 .2类调用时候指向这个类 .3 方法.apply(obg) :此时这个方法内部的this指向 obj 不传参数 则指向window .4 function 作为构造函数时, 内部this 指向这个新创建出来的对象 总结为 a类直构 this是JavaScri
-
JavaScript 嵌套函数指向this对象错误的解决方法
先看一段嵌套了两层function的JavaScript代码: 复制代码 代码如下: var me = { name : 'Jimbor', blog : 'http://jmedia.cn/', sayMyName : function(){ var pre = 'My name is: '; function displayName(){ alert(pre + this.name); } displayName(); } } me.sayMyName(); 从代码上看,我们希望通过sayM
随机推荐
- 使用XSL将XML文档中的CDATA注释输出为HTML文本
- Powershell 之批量获取文件大小的实现代码
- MongoDB 3.4 安装以 Windows 服务方式运行的详细步骤
- Java中双向链表详解及实例
- CentOS 7系统下配置自定义JDK的教程
- Javascript attachEvent传递参数的办法
- 详解vue项目优化之按需加载组件-使用webpack require.ensure
- javascript将url中的参数加密解密代码
- 在Windows下利用Squid开设代理服务器
- 12种不宜使用的Javascript语法整理
- 简单高效:用Swatch做Linux日志分析
- 护卫神 主机管理系统使用说明(MySQL管理)
- NodeJs入门教程之定时器和队列
- 关于js对textarea换行符的处理方法浅析
- Retrofit2.0添加Header的方法总结(推荐)
- Android实现可拖拽列表和多选功能
- C++堆栈类模板实现代码
- 详解iOS中position:fixed吸底时的滑动出现抖动的解决方案
- java自动生成编号的实现(格式:yyMM+四位流水号)
- 基于Python实现拆分和合并GIF动态图