我有一个名为concept的
javascript对象:
function concept() { this.ConceptId = 0; this.Name = ""; }
我试图在jQuery document.ready中启动它.
$(document).ready(function() { var concept = new concept; });
它返回一个错误:
Uncaught TypeError: concept is not a constructor
如果我在document.ready中移动对象,它就可以了.
$(document).ready(function() { function concept() { this.ConceptId = 0; this.Name = ""; } var concept = new concept; });
我仍然是javascript的新手,据我所知,document.ready在DOM完成时运行.我不明白为什么它无法访问document.ready范围中定义的对象.
解决方法
问题是因为你正在重新定义概念.您只需要更改变量的名称:
$(document).ready(function() { var foo = new concept; // change the variable name here alert(foo.ConceptId); // = 0 }); function concept() { this.ConceptId = 0; this.Name = ""; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>