我来自Python并且非常擅长JS。除了对象声明之外,到目前为止一切都很简单使用键值对制作对象看起来非常麻烦和令人困惑。
这有什么意义?
编辑: 我对javascript对象的想法是:
var person = {firstname:"John", lastname:"Doe", age:50, eyecolor:"blue"};
看起来好像只是一种形式的对象。
答案 0 :(得分:2)
<强> [编辑] 强>
制作对象关联数组的选择是明确的;大概是因为在某些情况下,可以方便地在运行中创建对象/结构,而不是符合预定义的&#34;类&#34;。
这&#34;松散的打字&#34;还允许您基于对象的属性而不是类型创建可重用代码。
<强> [原文] 强>
到目前为止,除了对象声明之外,一切都很简单。使用键值对制作对象看起来非常麻烦和令人困惑。
我不知道,对我来说似乎很容易......
function Person(name, age) {
this.name = name;
this.age = age;
}
var joe = new Person('Joe', 10);
joe.name; // => "Joe"
joe.age; // => 10
选择&#34;原型继承&#34;而不是经典的继承&#34;故意(无论好坏);它只是一种不同的做事方式,有自己的优点和缺点。
答案 1 :(得分:1)
http://code.tutsplus.com/articles/use-ecmascript-6-today--net-31582#class
请参阅上面的@maerics代码。也许你做错了(有几种方法可以在js中获得OO行为)。