JavaScript属性存储它
javascript attributes store this
可能出现以下情况吗?
var obj = {
data:'some data',
init:function(){
console.log(this.data);
console.log(obj.data);
}
}
obj.init();
在这里,console.log(this.data)
和 console.log(obj.data)
都返回相同的值。
是否可以将this
存储在某个变量中,就像我将'some data'
存储在data
中一样?
假设我们以某种方式将this
存储在 $this
.然后,console.log($this.data)
应该像console.log(this.data)
一样工作。
我不知道
你为什么要做你所要求的,但是是的,你可以做到:
var obj = {
data:'some data',
init:function(){
this.self = this;
console.log(this.data);
console.log(obj.data);
console.log(this.self);
}
}
obj.init();
如果您解释为什么要这样做,我们可能会提供更合适的建议,并且没有理由将this
的值保存在实例变量中,因为检索实例变量已经需要 this
的值。
如...分配?
var $this = this;
编辑:如果你的意思是这样:
var obj = {
selfReference: this
};
那么不,那是不可能的。之后,您必须分配它:
var obj = {};
obj.selfReference = obj;
不过,我不确定你为什么要这样做。
在Javascript中存储this
非常频繁,以避免函数作用域出现问题。通常,用于存储this
的变量称为that
,如下所示:
var that = this
还可以使用
myFunction.call(myCustomThisReference, param1, param2)
或
myFunction.apply(myCustomThisReference, [param1,param2]
查看电话并申请更多详情
相关文章:
- JavaScript-将多个对象存储在数组中,并通过访问它们的属性
- 将属性作为字符串存储在变量中
- 使用 jquery .find() 遍历按类和存储属性选择元素
- RefluxJS存储可以在调用trigger()时指示哪个属性已更改吗?
- 设置 HTML 自定义属性与在 ID 属性中存储信息
- 如何在 jQuery 中存储复杂对象/Razor 中的数据属性
- 如何在对象中存储html属性
- 将Firebase url存储在外部属性文件中
- 如何在EmberJS模板中访问存储在其他变量中的键中的对象属性的值
- 生成html时,在html数据属性中存储由.push()填充的数组
- 添加隐藏属性以存储其他属性值
- 有没有任何方法可以将json对象存储在HTML标记的默认/自定义属性中,比如<tr>
- 调用存储在对象属性中的Javascript函数
- 如何使用存储的属性来选择下拉值
- 设置存储在变量中的元素的属性
- 尝试使用会话存储;无法设置属性'登录'的未定义引用或null引用
- 枚举本地存储属性
- 为动态存储属性指定还原器
- 在Javascript数组中存储属性有什么缺点吗?
- 如何存储属性ID的值到一个变量?Jquery Javascript