为什么我不能在javascript中访问这个变量
Why can't I access this variable in javascript?
我创建了一个对象,我想访问该对象中的变量。但是每次我运行这个时,测试这个和什么这个变量是未定义的。我不确定为什么会发生这种情况。
/* HTML above */
<script type="text/javascript">
var formData;
var dataClickTest;
var FormRowData = function () {
var self = this;
self.someValue = "I am visible. Look Here!";
self.frds = new Array();
self.addRowData = function (ctrlData) {
self.frds.push(ctrlData);
}
self.convertData = function (rowData) {
var hi = rowData[0].attr('data-ctrltypeid');
var hello = "hi";
}
}
function postBackPart(div_id) {
formData = $('#' + div_id).find('input, select').filter('[name*=".InputtedData"]');
var testThis = FormRowData(); /* error here */
var whatThis = testThis.someValue; /* error here */
$.ajax({
url: '/TestEdit/Sections',
type: 'POST',
data: formData,
success: function (result) {
}
});
return false;
}
</script>
</body>
</html>
FormRowData
没有return
语句,并且您不会使用 new
关键字调用它,该关键字会将其视为构造函数,因此它返回 undefined
。
看起来您打算将其用作构造函数,因此:
var testThis = new FormRowData();
这应该可以解决这两个问题。
var testThis = new FormRowData();
由于您实际上并没有使用原型,因此您可以完全跳过new
:
var FormRowData = function () {
var self = {};
self.someValue = "I am visible. Look Here!";
self.frds = new Array();
self.addRowData = function (ctrlData) {
self.frds.push(ctrlData);
}
self.convertData = function (rowData) {
var hi = rowData[0].attr('data-ctrltypeid');
var hello = "hi";
}
return self;
}
等效于您的代码,无需new
相关文章:
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- 查询后websql成功回调无法访问变量
- 无法访问变量
- 从ajax调用成功内部访问变量
- 从子弹出子窗口访问变量
- 下划线模板无法访问变量
- Meteor Iron路由器通过[data]vs[params]访问变量
- CanvasJS-访问变量-访问属性toString的权限被拒绝
- 如何从嵌套函数中访问变量
- 在<%%中定义的访问变量>从<脚本></脚本>
- 自提交表单访问变量javascript
- 如何访问变量
- 稍后在链中访问变量
- 在 Javascript 中访问变量
- 在方法调用对象之外访问变量而不使它们全局化(可能吗?
- 如何从函数/实例外部访问变量
- 从另一个脚本源访问变量
- Meteor:跨所有 Meteor.method的访问变量
- 每次加载页面时,火狐附加组件访问变量
- 在另一个函数中访问变量,返回未定义的 - JavaScript