Javascript 为什么;功能“;在对象名称之前是否需要关键字?所有对象都是实数函数?
当我们制作这样的物体时Javascript 为什么;功能“;在对象名称之前是否需要关键字?所有对象都是实数函数?,javascript,object,Javascript,Object,当我们制作这样的物体时 function myObject(){ Properties and methods here---- }; 我们在对象名称前写“function”关键字,有必要吗?所有对象都是实函数?我们不能这样写直接对象名吗 myObject(){ Properties and methods here---- }; 在第一种情况下,函数可以用作对象的构造函数。因此,您可以: function Person(name) { this.name = name
function myObject(){
Properties and methods here----
};
我们在对象名称前写“function”关键字,有必要吗?所有对象都是实函数?我们不能这样写直接对象名吗
myObject(){
Properties and methods here----
};
在第一种情况下,函数可以用作对象的构造函数。因此,您可以:
function Person(name) {
this.name = name
}
Person.prototype = {
// methods can go in here
}
person1 = new Person("bob");
alert(person1.name) // alerts "bob"
同样,可以将函数用作对象。例如:
function myObject() {
return myObject.test;
}
myObject.test = "bob";
alert(myObject()) // would alert "bob"
但并非所有对象都是函数
var someObject = {
name: "bob",
moody: "sad"
}
alert(someObject.name); // alerts "bob"
try {
someObject();
} catch (er) {
alert(er); // alerts "TypeError: object is not a function"
}
我建议你看看不,这不是必需的。您还可以拥有:
var myObject = {
Prop1: "Value1",
Prop2: "Value2",
Method1: function() {
alert("hello");
}
};
实时测试用例:
函数
声明一个函数。由于JavaScript的工作方式,函数可以用作类来生成对象
但如果你真的只想要一个对象,请使用弯曲的大括号,如下所示:
var myObject = {
x : 30, // a property
getX : function() { // a method
return this.x;
}
}
但是你对JavaScript的理解需要做很多工作:阅读一些关于它的书。不,不是所有的对象都是函数。(不过,所有函数都是对象。) 在这里,
obj
不是一个函数:
var obj = {
foo: "bar"
};
Nordt
此处:
var dt = new Date();
function
关键字是说“下面是函数声明或函数表达式”所必需的。它只是JavaScript基本语法的一部分。您可以编写:
myObject = {
Properties and methods here----
}
一个原因是明显的歧义
function foo()
{
alert("cake")
}
foo()
{
alert("burb");
}
foo();
警报
cake
,burb
,cake
,因为第二个foo(){…}
只是一个常规函数调用,后面是一个包含在{}中的常规复合语句。在Javascript中,我们可以以各种方式创建对象:
1) 文字
2) 构造函数(具有此属性的函数)
let specificEmployee=新员工(“tyrion”,34)
构造函数总是需要有一个新的操作符来创建对象
3) 使用对象构造函数
let employee = Object.create(null);
employee.name = "tyrion";
employee.age = 34
在javascript中,除了基元类型之外的所有东西都是从对象构造函数继承的实例 与其说是类,不如说是构造函数。JavaScript没有类。嗨,Malvolio,thx为答案:)是的,我需要大量的工作来理解JavaScript。我每天读几本书和几篇文章。嗨,delnan,所以我们在对象名之前写上关键字“function”,这样我们就可以创建一个构造函数……哦,这就是为什么我们使用关键字“new”来创建“objectname”的实例……现在我得到了它……谢谢你的支持
function employee(name, age) {
this.name = name;
this.age = age;
}
let employee = Object.create(null);
employee.name = "tyrion";
employee.age = 34