对象,包装类
JavaScript 中的所有事物都是对象:字符串、数值、数组、函数…
此外,JavaScript 允许自定义对象。
首先说一下引用类型
引用类型的值(对象)是引用类型的一个实例。在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起,他也常被称为类。但这种称呼斌不妥当,尽管ECMAScript从技术上讲是一门面向对象的语言,但他不具备传统面向对象所支持的类和接口的基本结构。引用类型有时候也被称为对象定义,因为他们描述的是一类对象所具有的属性和方法。上述的Object,Array,Function等都是引用类型,这一届主要说Object。
Object需要创建自己的实例,通常为new操作符。
正如描述一个人一样,对象有自己的属性和方法。例如:
var my = {
name:"guojumnqing",
sex:"male",
run:function (){
}
}
上述创建了一个对象,有自己的属性和方法。
属性的增删改查
增:my.height = 175;
改:my.name = “guoshuhan”;
回来上面俩种方法也就会查了,至于删有一个特殊操作符:delete my.name;
其实除了用对爱性名字来访问属性,还可以用this操作符,必要时候出现。
若想执行方法,只需要Obiect.run(),这样就执行了这个对象的方法,可以通过这个方法来动态改变对象的属性值。另外需要声明的一点,对象中的属性值不管这个属性有没有被声明都默认值为undefined;比如我们查询上面对象中的run.like,结果为undefined,并不会报错,这点与js的变量声明有所不同。
对象的创建方法
-
var a = {} 对象自变量/对象直接量
-
构造函数
-
系统自带的函数:Object,Array等
var a = new Object();
此后,a就为一个对象实例,可进行增删改查等操作
-
自定义的函数
命名规则:大驼峰式命名规则,即所有的单词首字母都要大写(为了将对象与其他变量或函数区分开来)
使用this进行创建属性
function person(){ } var person1 = new person();
这样可以常见多个对象实例,他们可以拥有共同的属性和方法,也可以有自己的属性和方法,正如一个工厂车间,所有车有着相同的基础配置,但是他们的外观有有所不同。
function person(){ this.name = "people"; this.height = 200"; this.test = function(){ this.height--; } } var Person1 = new person(); var Person2 = new person();
这样Person1与Person2就被创建成功了,他们有着一部分共同的属性方法
若要给每个对象添加自己的属性和方法,除了直接用Object.attribute = …。还可以使用参数传递。
例如
function person(color){ this.colour = color; this.name = "people"; this.height = 200"; this.test = function(){ this.height--; } } var Person1 = new person('green'); var Person2 = new person('red');
这样Person1与Person2就有了自己的颜色
** 注意俩种创建对象时候符号的问题 **
-