JavaScript Creating 对象
可通过多种方法在 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("<br/>");
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 = ; // Older version
var obj1 = {
key: key,
value: value
}; // Edge mode
var obj2 = {key, value}; console.log(obj2); // Output:
// [object Object] {key: "a", value: 5}
以下示例演示如何使用速记语法来定义对象文本中的方法。
// Older versions
var obj = {
method1: function() {},
method2: function() {}
}; // Edge mode
var obj = {
method1() {},
method2() {}
};
还可以在 Microsoft Edge 的对象文本中动态设置属性名称。下面的代码示例使用 set 语法以动态方式创建对象的属性名称。
var propName = "prop_42";
var obj = {
    value: ,
    set [propName](v) {
        this.value = v;
    }
}
console.log(obj.value);
// Runs the setter property.
obj.prop_42 = ;
console.log(obj.value);
// Output:
// 0
//
下面的代码示例使用 get 语法以动态方式创建对象的属性名称。
var propName = "prop_42";
var obj = {
    get [propName]() {
        return ;
    }
}
console.log(obj.prop_42);
// Output:
//
下面的代码示例通过使用箭头函数语法将 42 追加到属性名称来创建计算属性。
var obj = {
    [ 'prop_' + (() => )() ]:
};
JavaScript Creating 对象的更多相关文章
- javascript 全局对象--w3school
		JavaScript全局对象 1. decodeURI()解析某个编码的URI. 2.decodeURInComponent()解析一个编码的URI组件. 3.encodeURI()把字符串编码为U ... 
- JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString
		JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ... 
- 从零构建JavaScript的对象系统
		一.正统的类与继承 类是对象的定义,而对象是类的实例(Instance).类不可直接使用,要想使用就必须在内存上生成该类的副本,这个副本就是对象. 以Java为例: public class Grou ... 
- 关于javascript自定义对象(来自网络)(最近几天不会的)
		javascript定义对象的几种简单方法 1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义 优点:动态的传递参数 缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存 funct ... 
- 据说每个大牛、小牛都应该有自己的库——JavaScript原生对象拓展
		在据说每个大牛.小牛都应该有自己的库——框架篇中我扬言要做个小牛,没想到一天没更新,小伙儿伴们就戏谑的问我,油哥是不是要太监了?其实事情是这个样子的,这不是太监的节奏,一是,关于写个自己的库的想法由来 ... 
- JavaScript RegExp 对象
		JavaScript RegExp 对象 RegExp 对象用于规定在文本中检索的内容. 什么是 RegExp? RegExp 是正则表达式的缩写. 当您检索某个文本时,可以使用一种模式来描述要检索的 ... 
- JavaScript String 对象
		JavaScript String 对象 String 对象 String 对象用于处理文本(字符串). String 对象创建方法: new String(). 语法 var txt = new S ... 
- JavaScript Math 对象
		JavaScript Math 对象 Math 对象 Math 对象用于执行数学任务. Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(). 语法 var ... 
- JavaScript Number 对象
		JavaScript Number 对象 Number 对象 Number 对象是原始数值的包装对象. Number 创建方式 new Number(). 语法 var num = new Numbe ... 
随机推荐
- [BZOJ 2743] 采花
			Link:https://www.lydsy.com/JudgeOnline/problem.php?id=2743 Algorithm: 此题询问区间内出现次数超过1个的数字 明显在线做无从下手,无 ... 
- 【AC自动机】【高斯消元】hdu5955 Guessing the Dice Roll
			http://blog.csdn.net/viphong/article/details/53098489 我有一点不是很懂,这样算出来转移到AC自动机根节点的概率是一个远大于1的数. 按我的理解,因 ... 
- 【暴力】vijos P1897 学姐吃牛排
			判断堆:递归判断每个节点的孩子是否都比其父亲大(小). 判断BST:中序遍历是否有序. #include<cstdio> using namespace std; #define lc ( ... 
- 手动编译含package的java源程序(包含外部包中定义的类)
			1)定义一个GSM类,如下: 包名是“SRC.GSM”,并且此程序引用了外部jar包.使用javac命令对GSM.java进行编译: GSM.java所在的文件夹如下所示: 切换到这个目录为当前工作目 ... 
- 各版本IIS下ASP.net请求处理过程区别
			ASP.NET是一个非常强大的构建Web应用的平台,它提供了极大的灵活性和能力以致于可以用它来构建所有类型的Web应用. 绝大多数的人只熟悉高层的框架如: WebForms 和 WebServic ... 
- Nice Messager隐私权政策
			重视用户的隐私.您在使用我们的服务时,我们可能会收集和使用您的相关信息.我们希望通过本<隐私政策>向您说明,在使用我们的服务时,我们如何收集.使用.储存和分享这些信息,以及我们为您提供的访 ... 
- PHP图片的类型将其自动编码成base64
			<!--根据图片的类型将其自动编码成base64--><html><head><?php$file="test.jpg";$type=ge ... 
- Go测试,功能测试,性能测试,测试辅助,go test 工具,高级测试,IO相关测试,黑盒测试,HTTP测试,进程测试
			go命令教程: http://wiki.jikexueyuan.com/project/go-command-tutorial/0.5.html Go测试 第一个测试 “Hello Test!” 首先 ... 
- 精通JavaScript攻击框架:AttackAPI
			多年来客户端安全一直未引起人们的足够重视,但是如今情况发生了急剧转变,客户端安全已经成为信息安全领域的焦点之一.Web恶意软件.AJAX蠕虫.浏览历史暴破.登录检测.傀儡控制技术网络端口扫描以及浏览器 ... 
- 为小团队协作和个人任务管理而生的Team应用
			今天主要给大家讲讲个人用户如何操作附个下载地址:https://coding.net/s/7a64f0d3-0fc3-4618-a490-d29651dae06b1.可直接在主页添加任务 任务被放在默 ... 
