首页 > Web开发 > 详细

自己总结js面向对象

时间:2014-01-17 08:59:49      阅读:419      评论:0      收藏:0      [点我收藏+]

前面的话。

作为一只典型的前端菜鸟,看js高级程序设计的第6章有点艰难。所以用写博客的办法,一边看书一边把自己理解的东西用自己的话总结出来。如果有错误或者歧义的地方,还请指出并包涵。

1.什么是对象?

js中的对象,分为两种形式。举个栗子:

bubuko.com,布布扣
 1 //No.1
 2 
 3 var dog = new Object();
 4 dog.name = "lucky";
 5 dog.age = 1;
 6 dog.sex = "girl";
 7 
 8 dog.sayHello = function(){
 9     alert(this.name+"wangwang~");
10 }
11 
12 //No.2
13 
14 var dog={
15     name:"lucky",
16     age:1,
17     sex:"girl",
18     sayHello:function(){
19         alert(this.name+"wangwang~");    
20 }}
bubuko.com,布布扣

2.属性的类型

对象的属性有自己的特性([[Configurable]]是否能删除或者重新定义属性、[[Enumerable]]是否能通过for循环、[[Writable]]能否改变属性值、[[Value]]属性的数据值),这些特性是实现js引擎用的,在js代码中是无法直接访问。格式特殊。用 " [[]] " 来标识。

默认:前三个设置都为true,[[Value]]默认为当前的属性的值。

改变属性特性。用Object.defineProperty(对象名称,"属性名称",{属性特性:对应值});

举个栗子:

bubuko.com,布布扣
var dog = {};
Object.defindProperty(
    dog,
    "name",
    {
        writable:false,//不可改
        value:"lucky"                
        //configurable,enumerable,writable,value
    }) ;

alert(dog.name);    //lucky
dog.name="lala";
alert(dog.name);    //lucky
bubuko.com,布布扣

注意:如果改变configurable的值为false,会报错。

自己总结js面向对象

原文:http://www.cnblogs.com/251894267EchoLee/p/3523008.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!