资讯专栏INFORMATION COLUMN

javascript自定义对象以及创建对象的新类型(引用类型)

余学文 / 1460人阅读

摘要:创建对象的新类型引用类型引用类型由三部分组成构造函数方法定义属性定义引用类型首先要创建构造函数,如下指代的就是每个对象都有属性,但该属性只对构造函数有用,可以将看成对象的实际原型,赋给的任何属性和方法对于对象都可用,和可以共享他们

1. javascript自定义对象

有一定js基础的童鞋都知道怎么创造对象,在这篇文章中我想详细的阐述一下。

创建对象--方法一
var obj=new Object()

该方法只需要使用new操作符后接Object构造函数

创建对象--方法二
var obj={}

js提供了使用字面量语法来创建对象:一对花括号{},字面量语法比较简洁,不需要new一个对象。

创建对象属性并赋值
obj.first="a";
obj.second="b";

缺点:js并不会告知属性名是否有以外的拼写错误,而只能用错误的属性名创建一个新的属性名,这样就会导致难以追踪存在的错误,所以创建属性的时候要谨慎写错

创建对象的方法

也可以用这种方法为方法赋值,只是说赋的是函数而不是其他的类型值,如下:

obj.eat=function(){
console.log("eating");
}

function没有名称,称为匿名函数,就本身而言,匿名函数是一种错误的语法,除非将它赋给一个变量
创建obj对象的完整代码:

var obj={};
obj.first="a";
obj.second="b";
obj.eat=function(){
console.log("eating");
}

上述代码用了4条语句完成一个完整的对象,如果用字面量符号法来定义整个对象,可以将一条语句缩减为一条语句。

var obj={
    first:"a",
    second:"b",
    eat:function(){
    return this.first+""+this.second;
    };
};

上述代码采用属性,冒号,值的方式定义属性和方法,注意使用逗号来分隔各个属性和方法的。

2. 创建对象的新类型(引用类型) 引用类型由三部分组成

构造函数

方法定义

属性

定义引用类型

首先要创建构造函数,如下:

function person(first,second){
    this.first=first;
    this.second=second;
    this.prototype.eat=function(){
        console.log("eating");
    }
}

this指代的就是person, 每个对象都有prototype属性,但该属性只对构造函数有用,可以将person.prototype看成person对象的实际原型,赋给person.prototype的任何属性和方法对于person对象都可用,person1和person2可以共享他们

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/88394.html

相关文章

  • JavaScript继承的六种方式

    这是 最近在学习js继承时看了多篇文章以及自我总结的学习笔记。 目录:一:原型链二:构造函数三:原型链和构造函数组合继承四:原型式五:寄生式六:寄生组合式 1、原型链 function Super(){ this.name = lily; this.age = 21; this.arr = [1,2,3] } function Sub(){} Sub.prototype = new S...

    wujl596 评论0 收藏0
  • JavaScript 闯关记》之原型及原型链

    摘要:像和这样的原生构造函数,在运行时会自动出现在执行环境中。理解原型对象在默认情况下,所有原型对象都会自动获得一个构造函数属性,这个属性包含一个指向属性所在函数的指针。而通过这个构造函数,我们还可继续为原型对象添加其他属性和方法。 原型链是一种机制,指的是 JavaScript 每个对象都有一个内置的 __proto__ 属性指向创建它的构造函数的 prototype(原型)属性。原型链的...

    cjie 评论0 收藏0
  • 前端面试题 -- JavaScript (一)

    摘要:前言前两天总结了一下方面的面试题传送门,今天翻看了一些面试中常见的几个问题只是一部分,会持续更新,分享给有需要的小伙伴,欢迎关注如果文章中有出现纰漏错误之处,还请看到的小伙伴留言指正,先行谢过以下有哪些数据类型种原始数据类型布尔表示一个逻辑 前言 前两天总结了一下HTML+CSS方面的面试题 (传送门),今天翻看了一些 JavaScript 面试中常见的几个问题(只是一部分,会持续更新...

    junnplus 评论0 收藏0
  • 读《javaScript高级程序设计-第6章》之封装类

    摘要:创建构造函数后,其原型对象默认只会取得属性至于其他的方法都是从继承来的。上图展示了构造函数的原型对象和现有的两个实例之间的关系。所有原生的引用类型都在其构造函数的原型上定义了方法。 第6章我一共写了3篇总结,下面是相关链接:读《javaScript高级程序设计-第6章》之理解对象读《javaScript高级程序设计-第6章》之继承 工厂模式 所谓的工厂模式就是,把创建具体对象的过程抽象...

    seal_de 评论0 收藏0
  • ES6-前世今生(0)

    摘要:更新了个版本,最新正式版是语言的下一代标准,早已在年月正式发布。基本不支持移动端浏览器对的支持情况版起便可以支持的新特性。比较通用的工具方案有,,,等。 1、ECMAScript是什么? 和 JavaScript 有着怎样的关系? 1996 年 11 月,Netscape 创造了javascript并将其提交给了标准化组织 ECMA,次年,ECMA 发布 262 号标准文件(ECMA-...

    LeviDing 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<