Py学习  »  Jquery

在jquery中通过构造函数设置类属性

Neeraj Verma • 5 年前 • 1351 次点击  

我试图通过jquery中单独的JS文件中的构造函数设置类属性。值传递正确,但问题是它不能保存以备将来使用

我试过按代码操作

A.J.

function ShowClassB()
{

$.getScript('../ClassB.js', function()
{

var objB = new ClassB("a");

});
}

B.JS

var ClassA = function(options){

var x;

this.construct = function("a"){

this.x="a";

};
this.construct("a");

}

$(document).ready(function(){

var objA =new ClassA();
console.log(objA.x);

})

但每次我创建新对象。属性值重置。我只想在类属性中设置,而不想在外部设置。我还尝试创建简单的类和原型。但它不起作用。

请建议

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38684
 
1351 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Rory McCrossan
Reply   •   1 楼
Rory McCrossan    6 年前

问题是,您已经将参数名包装在 construct() 引号中的定义。这是语法错误。删除那些引号。

var ClassA = function(options) {
  var x;
  this.construct = function(value) { // change here
    this.x = value; // and here
  };
  this.construct("a");
}

$(document).ready(function() {
  var objA = new ClassA();
  console.log(objA.x);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

您应该注意,这个模式在很大程度上是多余的,但是只需使用 实际的 施工单位:

function ClassA(options) {
  this.x = options.value;
}

$(document).ready(function() {
  var objA = new ClassA({
    value: 'foo'
  });
  console.log(objA.x);
})
<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js”></script>