<script> /* * 尽量使用点号表示法来访问对象的方法属性 * 不要在对象中使用带引号的属性标识 * */ var hero={ breed:'a', agreed:'b' }; /* * 这里有一个用于表示该对象的变量名hero。 * 括号中用逗号分割着的是组成该对象的元素(通常被称之为属性) * 键/值之间用冒号分割 例如key : value 。 * */ var o={prop:1}; var o={'prop':1}; var o={"prop":1}; /* * 上面三种定义的内容是完全相同的 他们是在键值(属性名)上面加一对引号 * 通常是不建议在属性名上面加引号 但在下面这些情境中引号是必须的 * a 如果属性名是js中保留字之一的话 * 如果属性名中包含空格或其它特俗字符的话(包含任何除字母,数字及下划线以外的字符) * 如果属性名以数字开头的话 * 概括 所选属性名不符合js中变量命名的规则 就必须加引号 如下 * ‘year or no’=‘yes’ '!@#$':true 如果这个不加引号就是错的 * */ /* * 对象的属性也可以是一个函数,因为函数本身也是一种数据此时该属性就是方法 * * 访问对象的属性 一种是 hero['a'] 一种是点号表示法 hero.occupation 也可以两种混合表示 * * */ var hero={ breed:'title', say:function(){ return "im" } } hero.say(); //如果需要传递参数 做法也和一般参数一样 hero.say("a","v") /*修改属性与方法 * * */ var hero={}; //创建空对象 //插入属性与方法 hero.breed='turtle'; hero.name='xige'; //hero对象的name属性 hero.say_name=function(){return hero.name}; /* * hero.say_name=function(){return this.name}; * 也就是说当我们引用this值时实际上引用的就是这个对象 或者当前对象 * */ //然后调用方法 hero.say_name(); //删除一个属性 delete hero.name; //在调用方法就不能工作了 hero.say_name(); </script>