对象的声明方式
1.字面量的方式声明对象:由一对大括号括起来
var obj = {
属性名称:属性值,
方法名称:function (){
}
}
2.new 操作符+Object 声明对象:
var obj = new Object();
obj.属性名称 = 属性值;
obj.方法名称 = function (){
}
3.构造函数声明对象:
在 function 中用 this 引用当前对象,通过对属性的赋值来声明属性。如果用var声明变量,则该变量为局部变量,只允许在类定义中调用。
function text([参数列表]){
this.属性名称 = 属性值;
this.方法名称 = function (){
}
}
var obj = new text(参数);
function myClass() {
this .id = 5
this .name = ' myclass '
this .getName = function () {
return this .name
}
}
var my = new myClass()
alert(my.id)
alert(my.getName())
4、工厂方式声明对象:
function text(name, age){
var obj = new Object()
obj.name = name
obj.age = age
obj.run = function (){
return this.name + this.age
}
}
var obj1 = text('zhaoweinian', 21)
var obj2 = text('lisi', 30)
function myClass() {
var obj =
{
' id ' : 2 ,
' name ' : ' myclass '
}
return obj
}
function _myClass() {
var obj = new Object()
obj.id = 1
obj.name = ' _myclass '
return obj
}
var my = new myClass()
var _my = new _myClass()
alert(my.id)
alert(my.name)
alert(_my.id)
alert(_my.name)
5.原型模式声明对象:
function text(name, age){
text.prototype.属性名称 = 属性值;
text.prototype.方法名称 = function (){
}
}
var obj = new text('lisa', 20);
6.混合模式声明对象:
function text(name, age){
this.name = name;
this.age = age;
}
text.prototype.属性名称 = 属性值;
text.prototype.方法名称 = function (){
}
var obj = new text('zhangsan', 30);