这些之间有什么不同

时间:2014-04-14 02:25:00

标签: javascript jquery

我一直在使用java脚本,jquery。但我仍然无法弄清楚下面java脚本声明的正确定义

var person = function(){
  name  = "Person1";
  age ="24"
}

function Person (){
  name  = "Perlson1";
  age ="24";     
}

var Person = {
  name : "Person1",
  age : "24",
}

任何人都可以给我这三种类型的正确解释,我对项目实施的方式感到有点困惑,

我真的很感激

3 个答案:

答案 0 :(得分:2)

它们不一样。

在前两个示例中,您定义了一个函数,函数的作用是设置两个全局变量 nameage的值。

第三个例子是定义一个普通对象,它具有nameage的属性。

前两个最有可能在下面:

function Person(name, age){
  this.name = name;
  this.age = age;     
}

var person1 = new Person('Person1', 24);

答案 1 :(得分:1)

第一个与第二个相同,创建一个名为Person的函数。

然而,第三个创建了一个名为Person的对象,其中设置了nameage属性。

所以使用第三个,

alert(Person.name); // alerts `Person1`
alert(Person.age); // alerts `24`

答案 2 :(得分:1)

var person = function(){
  name  = "Person1";
  age ="24"
}

上面的代码定义了一个变量' person',它被赋予一个匿名函数,用于设置2个全局变量的值' name'和'年龄'。

function Person (){
  name  = "Perlson1";
  age ="24";     
}

上面的代码定义了一个函数,用于设置2个全局变量的值' name'和'年龄' 所以,语法上第1和第第二种是定义功能的不同方式。但是,它们也有同样的目的。要访问它们, 的console.log(名称); //或console.log(window.name); 执行console.log(年龄); //或console.log(window.age);


var Person = {
  name : "Person1",
  age : "24",
}

上述第3个代码块只是一个Object。它不能被任何其他代码调用。这只是定义了对象Person,它有2个属性&name;'和'年龄'请注意,这里有2个属性 - name和age属于Person对象,而不属于窗口。即它们不是全局变量。它们绑定到Person对象。要访问这些, 的console.log(Person.name); 的console.log(Person.age);