我一直在使用java脚本,jquery。但我仍然无法弄清楚下面java脚本声明的正确定义
var person = function(){
name = "Person1";
age ="24"
}
function Person (){
name = "Perlson1";
age ="24";
}
var Person = {
name : "Person1",
age : "24",
}
任何人都可以给我这三种类型的正确解释,我对项目实施的方式感到有点困惑,
我真的很感激
答案 0 :(得分:2)
它们不一样。
在前两个示例中,您定义了一个函数,函数的作用是设置两个全局变量 name
和age
的值。
第三个例子是定义一个普通对象,它具有name
和age
的属性。
前两个最有可能在下面:
function Person(name, age){
this.name = name;
this.age = age;
}
var person1 = new Person('Person1', 24);
答案 1 :(得分:1)
第一个与第二个相同,创建一个名为Person
的函数。
然而,第三个创建了一个名为Person
的对象,其中设置了name
和age
属性。
所以使用第三个,
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);