我对在javascript中创建对象的方式感到困惑.似乎至少有两种方式.一种是使用对象文字符号,而另一种是使用构造函数.一个优于另一个有优势吗?
我正在阅读我的第一个Javascript教程.
我刚刚发现了两种创建JS对象的方法.
var person = new Object();
person.name = "Tom";
person.age = "17";
Run Code Online (Sandbox Code Playgroud)
和
var person = {};
person.name = "Tom";
person.name = "17"
Run Code Online (Sandbox Code Playgroud)
这两种对象创建方式有何不同?由于第二个看起来更简单,我们是否可以在任何条件下使用它?
我是javascript中的新对象.请阅读https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript上的这个主题,并对此感到困惑.
我不明白功能和对象之间的区别.一方面,函数应该是Function的实例(它是Object的子元素),因此函数也应该是一个Object.
另一方面,对象本身表示为键值对,例如:
var User = {name:"Tomy", password:"secret"}
这在功能定义方面与代码兼容性有很大不同......
我可以用两种不同的方式创建功能吗?
var User = function () {this.name="Tomy"; this.password="secret";}
我正在通过Codeacademy工作,他们表明你必须写两个.但他们没有解释为什么你需要两者.
对于创建Javascript对象,我们可以使用Literal或Constructor方式; 在Constructor中,我们说;
function myObj(){
this.myProp1 = "abc";
this.myProp2 = "xyz";
}
Run Code Online (Sandbox Code Playgroud)
用字面的方式,我们说;
var myObj = {
myProp1:"abc",
myProp2:"xyz",
}
Run Code Online (Sandbox Code Playgroud)
我的问题是在声明属性时,为什么会有这样的差异,比如为什么我们在构造方式的情况下使用"this.myProp1"而不是在Literal方式中使用"this"?