为什么未定义此变量的值

Jam*_*nco 2 javascript

我目前正在学习javascript并遇到了这个例子

var t = function()
{
  this.name = "Jam";
  no = "123";
}

console.log(t.no); //Undefined 
var m = new t();
console.log(m.name);
Run Code Online (Sandbox Code Playgroud)

为什么第一个语句未定义?

c-s*_*ile 5

t是一个功能对象.与任何其他对象一样,该函数可以分配属性.因此,为了使您的代码能够工作,您应该分配"123"no您的函数的属性(A行):

var t = function()
{
  this.name = "Jam";
}
t.no = "123"; // line A

console.log(t.no); // "123"
var m = new t();
console.log(m.name);
Run Code Online (Sandbox Code Playgroud)