Javascript 使用新属性创建时,对象属性未定义

Javascript 使用新属性创建时,对象属性未定义,javascript,dom,Javascript,Dom,下面未定义属性l.livroBj。为什么? function livre() { i=i+1; var cd = document.getElementById("act").value.substr(0,3)+"-"+i; var isbn = document.getElementById("isbn").value; var act = document.getElementById("act"

下面未定义属性l.livroBj。为什么?

function livre() {
            i=i+1;
            var cd = document.getElementById("act").value.substr(0,3)+"-"+i;
            var isbn = document.getElementById("isbn").value;
            var act = document.getElementById("act").value;
            var titre = document.getElementById("titre").value;

            var livreobj ={
              Cd:cd,
              Isbn:isbn,
              Act:act,
              Titre:titre
           };

    }



        function add() {
          var l = new livre();
          alert("kjkj");
          ajoutertable(l.livreobj);
        }
HTML:


代码:
国际书号:
演员:
滴度:
密码
ISBN
导演
乳头
行动

将变量i初始化为某个值。现在它是空的

    var i = 0;
livre()
构造函数中,没有初始化对象属性。使用“this”伪变量初始化构造的对象字段,用this替换
var
。:

     this.livreobj ={
          Cd:cd,
          Isbn:isbn,
          Act:act,
          Titre:titre
       };

请看

您的html结构是什么?我不太喜欢这种类型的逻辑,但我觉得它应该是
this.livrobj=…
而不是var@AyoubElHafi编辑您的问题并将标记放入其中,而不是作为注释。构造函数不是这样工作的。当使用
new
关键字调用函数时,将从函数的原型(默认情况下为普通对象)创建一个对象,并且函数中的
关键字指向新创建的对象。首先在谷歌上搜索并阅读javascript中的对象是如何工作的。你会想读到是的,它已经在其他地方初始化了,我已经尝试过了。这不是问题的根源
     this.livreobj ={
          Cd:cd,
          Isbn:isbn,
          Act:act,
          Titre:titre
       };