博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript Creating 对象
阅读量:6295 次
发布时间:2019-06-22

本文共 1501 字,大约阅读时间需要 5 分钟。

  可通过多种方法在 JavaScript 中创建你自己的对象。可以直接实例化Object 对象 (JavaScript),然后添加你自己的属性和方法。或者可以使用对象文本表示法来定义你的对象。还可使用构造函数来定义对象。

示例

下面的代码演示如何实例化对象和添加一些属性。在此情况下,只有 pasta 对象具有 grain、width 和 shape 属性。

var pasta = new Object();pasta.grain = "wheat";pasta.width = 0.5;pasta.shape = "round";pasta.getShape = function() {     return this.shape; };document.write(pasta.grain);document.write("
");document.write(pasta.getShape());// Output:// wheat// round
对象文本

只想创建一个对象实例时,还可以使用对象文本表示法。下面的代码演示如何通过使用对象文本表示法来实例化对象。

var pasta = {    grain: "wheat",    width: 0.5,    shape: "round"};

下面描述的功能仅在 Microsoft Edge 中受支持。

在 Microsoft Edge 中,可以使用速记语法来创建对象文本。

var key = 'a';var value = 5;// Older versionvar obj1 = {    key: key,    value: value};// Edge modevar obj2 = {key, value};console.log(obj2);// Output:// [object Object] {key: "a", value: 5}

以下示例演示如何使用速记语法来定义对象文本中的方法。

// Older versionsvar obj = {    method1: function() {},    method2: function() {}};// Edge modevar obj = {    method1() {},    method2() {}};

还可以在 Microsoft Edge 的对象文本中动态设置属性名称。下面的代码示例使用 set 语法以动态方式创建对象的属性名称。

var propName = "prop_42";var obj = {    value: 0,    set [propName](v) {        this.value = v;    }}console.log(obj.value);// Runs the setter property.obj.prop_42 = 777;console.log(obj.value);// Output:// 0// 777

下面的代码示例使用 get 语法以动态方式创建对象的属性名称。

var propName = "prop_42";var obj = {    get [propName]() {        return 777;    }}console.log(obj.prop_42);// Output:// 777

下面的代码示例通过使用将 42 追加到属性名称来创建计算属性。

var obj = {    [ 'prop_' + (() => 42)() ]: 42};

 

转载地址:http://ofvta.baihongyu.com/

你可能感兴趣的文章
PHP导出table为xls出现乱码解决方法
查看>>
PHP问题 —— 丢失SESSION
查看>>
Java中Object类的equals()和hashCode()方法深入解析
查看>>
数据库
查看>>
dojo.mixin(混合进)、dojo.extend、dojo.declare
查看>>
Python 数据类型
查看>>
iOS--环信集成并修改头像和昵称(需要自己的服务器)
查看>>
PHP版微信权限验证配置,音频文件下载,FFmpeg转码,上传OSS和删除转存服务器本地文件...
查看>>
教程前言 - 回归宣言
查看>>
PHP 7.1是否支持操作符重载?
查看>>
Vue.js 中v-for和v-if一起使用,来判断select中的option为选中项
查看>>
Java中AES加密解密以及签名校验
查看>>
定义内部类 继承 AsyncTask 来实现异步网络请求
查看>>
VC中怎么读取.txt文件
查看>>
如何清理mac系统垃圾
查看>>
企业中最佳虚拟机软件应用程序—Parallels Deskto
查看>>
Nginx配置文件详细说明
查看>>
怎么用Navicat Premium图标编辑器创建表
查看>>
Spring配置文件(2)配置方式
查看>>
MariaDB/Mysql 批量插入 批量更新
查看>>