码迷,mamicode.com
首页 > 编程语言 > 详细

javascript——面向对象程序设计(1)

时间:2015-01-20 23:31:05      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

 1 <script type="text/javascript">
 2         //ECMA-262把对象定义为:“无序属性的 集合,其属性可以包含基本值、对象或者函数”
 3         //理解对象,最简单的方式就是通过创建一个Object的实例,然后为它添加属性和方法
 4         var person = new Object();
 5         person.name = "Xulei";
 6         person.age = "23";
 7         person.job = "前端工程师";
 8         person.sayName = function () {
 9             alert(this.name);
10         }
11 
12         //还可以这样写
13         var person = {
14             name: "xulei",
15             age: 23,
16             job: "前端工程",
17             sayName: function () {
18                 alert(this.name)
19             }
20         }
21 
22 
23         //一、属性类型:数据属性和访问其属性
24         //1、数据属性,有4个描述其行为的特性
25         //[Configurable]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性,默认值为true
26         //[Enumerable]:表示能否通过for-in返回属性,默认值为true
27         //[Writable]:表示能否修改属性,默认值为true
28         //[Value]:包含这个属性的数据值。默认值为undefined
29         var person = {
30             name: "xulei"
31         }
32         //这里创建了一个person对象,value值就是“xulei”
33 
34         //要修改属性的默认特性,必须使用ECMAScript5的Object.defineProperty(属性所在的对象,属性的名字,描述符对象)
35         //描述符对象必须是configurable、enumerable、writable、value
36         var peron = {}
37         Object.defineProperty(peron, "name", {
38             writable: false,//属性不能被修改
39             value: "徐磊-xulei"
40         });
41 
42         alert(peron.name);//徐磊-xulei
43         peron.name = "徐磊";
44         alert(peron.name);//徐磊-xulei
45         //以上操作在非严格模式下赋值操作会被忽略,如果在严格模式下会抛出异常
46         //一旦把属性定义为不可配置的就不能把它变回可配置的了。
47         //在多数情况下都没有必要利用Object.defineProperty()方法提供的这些高级功能。但是对理解javascript非常有用。
48         //建议读者不要在ie8上使用此方法。
49 
50 
51         //2、访问其属性,有4个特性
52         //[Configurable]:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性,默认值为true
53         //[Enumerable]:表示能否通过for-in返回属性,默认值为true
54         //[Get]:在读取时调用的函数
55         //[Set]:在写入属性时调用的函数
56 
57 
58 
59     </script>

 

javascript——面向对象程序设计(1)

标签:

原文地址:http://www.cnblogs.com/goesby/p/4237560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!