要学习js的对象,基本理论需要了解,以下几点阐述js对象:
万物皆对象,所有的JavaScript值,除了原始值(没有属性或者方法的值),都是对象 。
举个例子来说明原始值:var x = 3.14 x是一个变量,也是对象,但是3.14是一个原始值,这不能改变,也就是说你可以改变x的值,但是3.14你改变不了。
对象是包含变量的变量,对象也是变量,但是对象能够包含多个值。
对象:meili 既是对象也是变量。 对象的属性被放在{}中,属性名与属性值用":“分割,属性之间用”,"分割。 属性书写格式{key1:value1,key2:value2,…}
对象方法就是可以在对象上执行的动作,也就是对象中的某个属性是函数,这里的函数我们又称之为方法。
var meili = {name:"yang",age:16,job:"boss" ,sayName:function(){console.log(this.name)}};对象meili中的sayName属性值就是一个方法,也是一个函数对象。
了解对象以后,我们得学会创建,才能使用它呢! 那么创建对象的方式有6种,Object构造函数创建、字面量、工厂模式,构造函数模式、原型模式、混合模式。这里我们介绍前两种。
在创建对象的同时给对象添加属性
//属性名不需要加引号,特殊字符需要通过[]操作符为对象添加属性时,属性名称可以是任何字符串(包括只包含空格的字符串和空字符串); var meili = {name:"yang",age:16,job:"boss"};在创建变量"meili"的同时,给meili添加了name,age,job等相关属性。
先声明一个对象,再为对象添加属性
var meili = new Object(); meili.name = "yang"; meili.age = 16; meili.job = "boss" meili.sayName = function(){console.log(this.name)};注意: 如果我给obj属性name赋予了一个新的变量
var a = "name";怎么结合a和[]访问到obj的name属性
console.log(obj[a])这里obj[a] = obj[“name”],!!!切忌写成obj[“a”]
delete只是断开了属性和宿主对象的联系,而不会操作属性中的属性,并且delete只会删除自有属性,不能删除继承属性,为了防止内存泄漏,遍历对象中的属性,依次删除所有属性。 语法:delete 对象.属性名
delete obj.name;//true console.log(obj.hasOwnProperty("name"))//false 已删除