我敢肯定有一个简单的答案,但是今天是星期五下午,我很累。:(
不知道如何解释它,所以我将继续发布示例代码…
这是一个简单的对象:
var Bob =
{ Stuff : ''
, init : function()
{
this.Stuff = arguments[0]
}
, doSomething : function()
{
console.log( this.Stuff );
}
}
这里正在使用它:
$j = jQuery.noConflict();
$j(document).ready( init );
function init()
{
Bob.init('hello');
Bob.doSomething();
$j('#MyButton').click( Bob.doSomething );
}
一切正常,最后一行除外。当jQuery调用doSomething方法时,它会覆盖“ this”并使其停止工作。
尝试使用Stuff
也不起作用。
那么,如何以一种允许jQuery调用它并允许该对象与调用jQuery对象一起工作的方式引用该对象自身的属性呢?
即我希望能够做这样的事情:
doSomething : function()
{
console.log( <CurrentObject>.Stuff + $j(<CallerElement>).attr('id') );
}
(其中<CurrentObject>
和<CallerElement>
用适当的名称替换。)
的身份this
是javascript中的常见问题。如果您尝试创建快捷方式doSomething
:
var do = Bob.doSomething;
do(); // this is no longer pointing to Bob!
最好不要依赖的身份this
。您可以通过多种方式来html" target="_blank">执行此操作,但是最简单的方法是显式引用Bob
而不是this
内部doSomething
。另一种方法是使用构造函数(但是您将失去很酷的对象文字语法):
var createBob = function() {
var that = {};
that.Stuff = '';
that.init = function() {
that.Stuff = arguments[0];
};
that.doSomething = function() {
console.log( that.Stuff );
};
return that;
}
var bob = createBob();
本文向大家介绍Jquery通过JSON字符串创建JSON对象,包括了Jquery通过JSON字符串创建JSON对象的使用技巧和注意事项,需要的朋友参考一下 PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用: 在线JSON代码检验、检验、美化、格式化工具: http://tools.jb51.net/code/json JSON在线格式化工具: http://to
本文向大家介绍js中通过getElementsByName访问name集合对象的方法,包括了js中通过getElementsByName访问name集合对象的方法的使用技巧和注意事项,需要的朋友参考一下 1、查找给定name属性的所有元素,这个方法将返回一个节点集合,也可以称为对象集合。 2、这个集合可以作为数组来对待,length属性的值表示集合的个数。 3、因为在html页面中,name不能唯
问题内容: 是否可以通过react-router中的组件传递对象? 就像是: 与我从to 组件传递过来的方式相同。 如果不可能的话,最好的方法是什么: 我有一个React + Flux应用程序,并且用一些数据渲染了表格。我想做的是,当我单击其中一行时,它将带我到该行的一些 详细信息 组件。该行包含了我需要的所有数据,所以我认为如果可以将其传递通过,那将是很好的。 另一种选择是在url中传递行的,在
问题内容: 大家好,我正尝试通过websockets发送javascript对象: faye-websockets文档说: send(message) 接受字符串或缓冲区,并通过连接向另一对等方发送文本或二进制消息。 服务器端我正在使用node和faye。 客户端: 我的错误是什么?谢谢 问题答案: WebSockets支持发送和接收:字符串,类型数组(ArrayBuffer)和Blob。发送之前
问题内容: 如何通过匹配对象属性从数组中删除对象? 请只使用本机JavaScript。 我在使用接头时遇到麻烦,因为每次删除的长度都会减少。使用克隆并在原始索引上进行拼接仍然会给您带来长度减少的问题。 问题答案: 我以为你用过这样的东西? 修复bug所需要做的就是在下一次减少,然后(也可以选择向后循环): 为了避免线性时间删除,可以编写要 保留 在数组上的数组元素: 为了避免在现代运行时中进行线性
问题内容: 我定义一个类,然后设置该类类型的对象。我想将此对象透明地发送到在另一台计算机上运行的另一个Java应用程序。什么是实现这一目标的最佳技术? 问题答案: 您可以使用Java API创建对象流并发送任何可序列化的对象。但您必须注意,这些内容不会通过网络进行加密: 在发送方方面: 在接收端: