为什么可以';我不能在javascript中访问这个变量吗?
我创建了一个对象,我想访问该对象中的变量。但是每次我运行这个,testThis和what这个变量都是未定义的。我不知道为什么会这样为什么可以';我不能在javascript中访问这个变量吗?,javascript,Javascript,我创建了一个对象,我想访问该对象中的变量。但是每次我运行这个,testThis和what这个变量都是未定义的。我不知道为什么会这样 /* HTML above */ <script type="text/javascript"> var formData; var dataClickTest; var FormRowData = function () { var self = this; self.someValue =
/* 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>
上面的/*HTML*/
var格式数据;
var数据检验;
var FormRowData=函数(){
var self=这个;
self.someValue=“我是可见的。看这里!”;
self.frds=新数组();
self.addRowData=函数(ctrlData){
自我频率推送(ctrlData);
}
self.convertData=函数(rowData){
var hi=rowData[0]。attr('data-ctrltypeid');
var hello=“hi”;
}
}
函数后置部分(div_id){
formData=$('#'+div_id).find('input,select').filter('[name*='.inputeddata']);
var testThis=FormRowData();/*此处出错*/
var whattthis=testThis.someValue;/*此处出错*/
$.ajax({
url:“/TestEdit/Sections”,
键入:“POST”,
数据:formData,
成功:功能(结果){
}
});
返回false;
}
var testThis=newFormRowData() var testThis=newFormRowData() FormRowData
没有return
语句,并且您没有使用将其视为构造函数的new
关键字调用它,因此它返回未定义的
看起来您打算将其用作构造函数,因此:
var testThis = new FormRowData();
这应该可以解决这两个问题。
FormRowData
没有return
语句,并且您没有使用new
关键字调用它,该关键字会将其视为构造函数,因此它返回未定义的
看起来您打算将其用作构造函数,因此:
var testThis = new FormRowData();
这应该可以解决这两个问题。因为您没有实际使用原型,所以您可以完全跳过
新建
:
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;
}
相当于您的代码,无需
新建
,因为您实际上没有使用原型,所以您可以完全跳过新建
:
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;
}
等同于您的代码,无需新建