javascript-引用类型(一)

一、什么是引用类型

1.引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型常被称作类,但这种叫法并不妥当,因为javascript从技术上讲,虽然是面向对象的语言,但它不具备传统面向对象语言所支持的类和接口等基本结构。

注意:引用类型和java等语言中的类看起来很相似,但实际上并不是相同的概念,我们可以借助类来理解引用类型的一些概念,但记得不要等同起来。

2.对象:引用类型的值被称为对象,它是引用类型的一个实例。

3.创建对象的方法:

使用new操作符后面跟一个构造函数来创建
var person = new Object();

二、Object引用类型

1.创建Object实例的方法

1)使用new操作符+构造函数
        var obj = new Object();
        person.name='zhangsan';
        person.age=18;
        ------------------------------------------------------------
        如果不给构造方法Object()传递参数,则可以省略后面的一对大括号,
        即:var obj = new Object;//有效,但不推荐
        ------------------------------------------------------------

2)使用对象字面量
        var person={
            name:'zhangsan',
            age=18;
        };
        或者:
        var person={
            'name':'zhangsan';
            'age':18
        };
        --------------------------------------------------------------------------------------
        1.在对象字面量中,使用逗号分割不同的属性,但最后一个属性后面不要逗号,否则会在IE7-和Opera中报错.
        2.属性名既可以加引号,也可以不加。
        --------------------------------------------------------------------------------------
3)使用对象字面的特殊形式
        var person={};
        person.name='zhangsan';
        person.age=18;
        
        留空花括号,则可以定义只包含默认属性和方法的对象

2.对象字面量定义的方式好处:

  • 代码量少,给人封装数据的感觉。
  • 在定义的对象包含大量属性时,首选字面量定义的方式。
  • 向函数传递大量可选参数的首选方式
    function show(args){
    var print='';
    if(typeof args.name == String){
    print='Name:'+args.name+'/n';
    }
    if(typeof args.age == Number){
    print+='Age:'+args.age+'/n';
    }
    alert(print);
    }

3..对象的访问

  • (1)点表示法*
    通常使用点表示法访问对象的属性
    person.name;
    person.age;

  • (2)方括号表示法
    person['name'];
    person['age'];

          该方法的优点:
              a.可以通过变量来访问对象的属性
                  var propertyName='name';
                  person[property];
              b.如果属性名中含有会导致语法错误的字符或属性名使用的是关键字或保留字,也可以使用方括号表示法。
                  person['first name']//可以
                  person.first name//不可以
    
  • (3) 通常除非需要通过变量来访问属性,否则推荐使用点表示法

4.Object的实例对象对象的属性和方法:

属性:
    constructor:保存着用于创建当前对象的函数(即构造方法)
方法:
    1.hasOwnproperty(propertyName):用于检查propertyName属性在当前对象的实例中是否存在(不包括原型)
        -----------------------------------------------
        注意:propertyName必须以字符串的形式给出,比如:
        o.hasOwnProperty('name');
        -----------------------------------------------
    2.isprototypeOf(object):用于检查传入的对象是否是当前对象的原型(父类)
    3.propertyIsEnumerable(propertyName):用于检查给定的属性能否用for-in语句来枚举。

        --------------------------------------------------------------------------------------
        1.存在于原型链中的属性不能枚举,既不是实例对象本身的属性,而是从该对象的原型继承来的属性。
        2.propertyName以字符串的形式指定      
        --------------------------------------------------------------------------------------
    4.toLocalString();返回对象的字符串表示,该字符串与执行环境的地区对应
        ------------------------------------------------------------------------------------
        通常用来向用户展示信息,而不参与基本的js运算,因为它会随机器的地理差异呈现不同的结果
        ------------------------------------------------------------------------------------
    5.toString();返回对象的字符串表示。
    6.valueOf();返回对象的字符串、数值、或布尔值表示。通常与toString()方法的返回值相同。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容