javascript不使用new运算符也可以创建对象,方法:1、使用“var objectName={属性名1:值1,属性名2:值2,...};”语句;2、使用“Object.create(原型对象,descriptors)”语句。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
对象直接量
使用直接量可以快速创建对象,也是最高效、最简便的方法。具体用法如下:
var objectName = {
属性名1 : 属性值1,
属性名2 : 属性值2,
...
属性名n : 属性值n
};在对象直接量中,属性名与属性值之间通过冒号进行分隔,属性值可以是任意类型的数据,属性名可以是 JavaScript 标识符,或者是字符串型表达式。属性于属性之间通过逗号进行分隔,最后一个属性末尾不需要逗号。
立即学习“Java免费学习笔记(深入)”;
示例1
下面代码使用对象直接量定义两个对象。
var o = { //对象直接量
a : 1, //定义属性
b : true //定义属性
}
var o1 = { //对象直接量
"a" : 1, //定义属性
"b" : true //定义属性
}示例2
属性值可以是任意类型的值。如果属性值是函数,则该属性也称为方法。
var o = { //对象直接量
a : function () { //定义方法
return 1;
}
}示例3
如果属性值是对象,可以设计嵌套结构的对象。
var o = { //对象直接量
a : { //嵌套对象
b : 1
}
}示例4
如果不包含任何属性,则可以定义一个空对象。
var o = {} //定义一个空对象直接量使用 Object.create
Object.create 是 ECMAScript 5 新增的一个静态方法,用来创建一个实例对象。该方法可以指定对象的原型和对象特性。具体用法如下:
Object.create(prototype, descriptors)
参数说明如下:
prototype:必须参数,指定原型对象,可以为 null。
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。它不是新的编程语言,而是一种使用现有标准的新方法,最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容,不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。《php中级教程之ajax技术》带你快速
2114
descriptors:可选参数,包含一个或多个属性描述符的 JavaScript 对象。属性描述符包含数据特性和访问器特性,其中数据特性说明如下。
value:指定属性值。
writable:默认为 false,设置属性值是否可写。
enumerable:默认为 false,设置属性是否可枚举(for/in)。
configurable:默认为 false,设置是否可修改属性特性和删除属性。
访问器特性包含两个方法,简单说明如下:
set():设置属性值。
get():返回属性值。
示例1
下面示例使用 Object.create定义一个对象,继承 null,包含两个可枚举的属性 size 和 shape,属性值分别为 "large" 和 "round"。
var newObj = Object.create (null, {
size : { //属性名
value : "large", //属性值
enumerable : true //可以枚举
},
shape : { //属性名
value : "round", //属性值
enumerable : true //可以枚举
}
});
console.log(newObj.size); //large
console.log(newObj.shape); //round
console.log(Object.getPrototypeOf(newObj)); //null示例2
下面示例使用 Object.create 定义一个与对象直接量具有相同原型的对象。
var obj = Object.create(Object.prototype, { //继承Obj.prototype原型对象
x : {
value : undefined, //属性值
writable : true, //可写
configurable : true, //可以配置
enumerable : true //可以枚举
}
});
console.log("obj.prototype = " + Object.getPrototypeOf(obj)); //"obj.prototype =[object, Object]"
Object.getPrototypeOf() 函数可获取原始对象的原型。如果要获取对象的属性描述符,可以使用 Object.getOwnPropertyDescriptor() 函数。示例3
下面示例定义一个对象,使用访问器属性 b 来读写数据属性 a。
var obj = Object.create(Object.prototype, {
a : { //数据属性a
writable : true,
value : "a"
},
b : { //访问器属性b
get : function () {
return this.a;
},
set : function (value) {
this.a = value;
},
}
});
console.log(obj.a); //"a"
console.log(obj.b); //"a"
obj.b = 20;
console.log(obj.b); //20【相关推荐:javascript学习教程】
以上就是javascript不使用new可以创建对象吗的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号