JavaScript如何自定义对象

自定义方法:1、直接通过“属性名/值”来创建,语法“var 对象名={属性名:属性值};”;2、使用“var 对象名=new 构造函数名(args);”语句;3、使用“Object.create(原型对象,descriptors)”语句。

JavaScript如何自定义对象

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

在Js中,除了Array、Date、Number等内置对象外,开发者可以通过Js代码创建自己的对象。

对象特性

① 结构类似’字典’ :对象的属性类似键/值对;属性的名称为字符串,属性的值为任意类型。

② 原型继承:Js的对象可继承原型的属性。

立即学习“Java免费学习笔记(深入)”;

③ 动态结构:可动态新增、删除对象的属性。

④ 引用类型:js中的对象为引用类型。a为一个对象,b=a,修改b也会造成a的修改。

创建对象方式

Js中创建自定义对象,主要通过三种方式:对象直接量、new 构造函数以及Object.create()方法。每一种创建方式继承的原型对象都不同:

① 对象直接量:原型为Object.prototype。

② new 构造函数:原型为构造函数的prototype属性。

③ Object.create():原型为传入的第一个参数,若第一个参数为null,以Object.prototype为原型。

1、对象直接量

说明:直接通过 属性名/值来创建。

语法:var o = { name:’tom’, age:22 };

原型:Object.prototype 

适用场景:应用在某一特定的作用域里。

示例:

var o = {    name: 'tom'}console.log(o.constructor.prototype); // => Object() :对象直接量的原型为Objectconsole.log(o.constructor.prototype === Object.prototype); // true

登录后复制

2、new 构造函数

说明:构造函数也是种函数,但为了区分平常所用的函数,构造函数的函数名采用大骆驼峰写法(首字母大写)。

语法:var o = new ClassName();

原型:构造函数的prototype属性。

示例:

// 1.创建构造函数function People(name) {    this.name;}var p = new People('Tom');console.log(p.constructor.prototype); // => People{} :原型为构造函数的prototypeconsole.log(p.constructor.prototype === People.prototype); // => true// 2.自定义对象的多层继承 :constructor返回最先调用的构造函数 function Student(age) {    this.age = age;}Student.prototype = new People(); // 设置Student的原型为People对象var s = new Student(22); // 对象初始化时,先调用People(),再调用Student()console.log(s.constructor); // => function People :对象s返回的构造函数为Peopleconsole.log(s.constructor.prototype); // => People{} :原型对象为Peopleconsole.log(s.constructor.prototype === People.prototype); // => true

登录后复制

3、Object.create(prototype, propertyDescriptor) :ECMAScript 5规范

说明:创建并返回一个指定原型和指定属性的对象。

语法:Object.create(prototype, propertyDescriptor)

参数:

①prototype {prototype} :创建对象的原型,可以为null。若为null,对象的原型为undefined。

②propertyDescriptor {propertyDescriptor} 可选:属性描述符。

原型:默然原型型为①参;若①参为null,对象的原型为undefined。

示例:

// 1.建立一个原型为null的对象var o = Object.create(null, {    name: {        value: 'tom'    }});console.log(o.constructor); // => undefined // 2.创建一个原型为Array的对象var array = Object.create(Array.prototype, {});console.log(array.constructor); // => function Array 构造函数 console.log(array.constructor.prototype); // => [] :原型对象为数组// 3.创建一个原型为自定义类的对象function People() { }var p = Object.create(People.prototype, {});console.log(p.constructor); // => function People 构造函数 console.log(p.constructor.prototype); // => People{} :原型对象People

登录后复制

【相关推荐:javascript学习教程

以上就是JavaScript如何自定义对象的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2710810.html

(0)
上一篇 2025年3月7日 20:57:19
下一篇 2025年2月28日 08:49:14

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • javascript怎么实现继承

    javascript实现继承方式:1、构造原型,直接使用prototype原型设计类的继承;2、利用动态原型实现继承;3、利用工厂模式实现继承;4、利用类继承,通过在子类中调用父类构造函数来实现继承。 本教程操作环境:windows7系统、…

    2025年3月7日
    200
  • javascript中sort()方法怎么用

    在javascript中,sort()方法用于数组排序,该方法能够根据一定条件对数组元素进行排序,语法格式“arrayObject.sort(sortby)”。如果调用sort()方法时没有传递参数,则按字母顺序对数组中的元素进行排序。 本…

    2025年3月7日
    200
  • javascript中table怎么删除行

    javascript中table删除行的实现方法:首先创建一个HTML示例文件;然后定义一个table表格;最后通过“function deleteRow(_this){…}”方法实现删除行的功能即可。 本文操作环境:windo…

    2025年3月7日
    200
  • JS中函数表达式 VS 函数声明,聊聊它们的不同点

    在javascript中,函数声明和函数表达式都是使用function关键字来创建函数的,是不是觉得它们很像,很容易混淆。下面本篇文章就来带大家分析一下函数表达式和函数声明,介绍一下函数表达式和函数声明的区别。 在 JavaScript 中…

    2025年3月7日
    200
  • JavaScript怎么求长方形周长

    JavaScript求长方形周长的方法:首先创建一个HTML示例文件;然后在body中添加script标签;最后在js中利用prompt来获取矩形的宽高来计算周长即可。 本文操作环境:windows7系统、javascript1.8.5版,…

    2025年3月7日 编程技术
    200
  • javascript怎么改字体大小

    javascript改字体大小的方法:首先创建一个HTML示例文件;然后定义一些文本内容;最后通过“ps[i].style.fontSize=”12px”;”方式改字体大小即可。 本文操作环境:windows7系统、…

    2025年3月7日
    200
  • JavaScript怎么设置图片大小

    JavaScript设置图片大小的方法:首先创建一个HTML示例文件;然后通过img引入图片;最后通过“setInterval(function warp(){…}”方法动态改变图片大小即可。 本文操作环境:windows7系统…

    2025年3月7日
    200
  • javascript中blur是什么

    javascript中blur是失去焦点的意思;当用户用鼠标点击一个文本输入框时,会相应的产生一个焦点,而当用户在别的地方点击时,光标消失,那个文本框就失去了焦点。 本文操作环境:windows7系统、javascript1.8.5版,DE…

    2025年3月7日
    200
  • javascript语句有哪些

    javascript语句有:1、break语句,用于跳出循环;2、catch语句,在try语句块执行出错时执行catch语句块;3、continue语句,用于跳过循环中的一个迭代;4、for语句,将代码块执行指定的次数等等。 本文操作环境:…

    2025年3月7日
    200
  • javascript算出活了多少天

    javascript算出活了多少天的方法:首先定义自己的生日;然后通过“parseInt((today.getTime()-birthday.getTime())/(1000*3600*24));”方法计算活了多少天即可。 本文操作环境:w…

    2025年3月7日
    200

发表回复

登录后才能评论