JavaScript声明一个对象的三种方式
来源:互联网 发布:new event js 位置 编辑:程序博客网 时间:2024/05/21 20:25
1. 声明一个对象的语法
var person = { name: ['Bob', 'Smith'], age: 32, gender: 'male', interests: ['music', 'skiing'], bio: function() { alert(this.name[0] + ' ' + this.name[1] + ' is ' + this.age + ' years old. He likes ' + this.interests[0] + ' and ' + this.interests[1] + '.'); }, greeting: function() { alert('Hi! I\'m ' + this.name[0] + '.'); }};
调用
person.name[0]person.ageperson.interests[1]person.bio()person.greeting()
2. 构造函数
a.创建构造函数
function Person(first, last, age, gender, interests) { this.name = { first, last }; this.age = age; this.gender = gender; this.interests = interests; this.bio = function() { alert(this.name.first + ' ' + this.name.last + ' is ' + this.age + ' years old. He likes ' + this.interests[0] + ' and ' + this.interests[1] + '.'); }; this.greeting = function() { alert('Hi! I\'m ' + this.name.first + '.'); };};
b.创建它的一个对象实例
var person1 = new Person('Bob', 'Smith', 32, 'male', ['music', 'skiing']);
c.调用
person1['age']person1.interests[1]person1.bio()
3. Object()构造函数
首先, 您能使用Object()构造函数来创建一个新对象。 是的, 一般对象都有构造函数,它创建了一个空的对象。
a.尝试在您浏览器中的Javascript控制台中输入以下代码:
var person1 = new Object();
这样就在person1变量中存储了一个空对象。然后, 可以根据需要, 使用点或括号表示法向此对象添加属性和方法;试试这个例子:
person1.name = 'Chris';person1['age'] = 38;person1.greeting = function() { alert('Hi! I\'m ' + this.name + '.');}
还可以将对象文本传递给Object() 构造函数作为参数, 以便用属性/方法填充它。请尝试以下操作:
var person1 = new Object({ name : 'Chris', age : 38, greeting : function() { alert('Hi! I\'m ' + this.name + '.'); }});
b.使用create()方法
JavaScript有个内嵌的方法create(), 它允许您基于现有对象创建新的对象实例。
在 JavaScript 控制台中尝试此操作:
var person2 = Object.create(person1);
现在尝试这个:
person2.nameperson2.greeting()
您可以看到,person2是基于person1创建的, 它们具有相同的属性和方法。这非常有用, 因为它允许您创建新的对象实例而无需定义构造函数。缺点是比起构造函数,浏览器在更晚的时候才支持create()方法(IE9, IE8 或甚至以前相比), 加上一些人认为构造函数让您的代码看上去更整洁 —— 您可以在一个地方创建您的构造函数, 然后根据需要创建实例, 这让您能很清楚地知道它们来自哪里。
但是, 如果您不太担心对旧浏览器的支持, 并且您只需要一个对象的一些副本, 那么创建一个构造函数可能会让您的代码显得过度繁杂。这取决于您的个人爱好。有些人发现create() 更容易理解和使用。
阅读全文
0 0
- JavaScript声明一个对象的三种方式
- javascript 函数声明的三种方式
- Javascript全局变量的三种声明方式
- JavaScript声明全局变量三种方式的异同javascript
- JavaScript声明全局变量三种方式的异同
- 基于JavaScript的三种声明全局变量方式介绍
- JavaScript声明全局变量三种方式的异同
- JavaScript声明全局变量三种方式的异同
- 【javascript笔记】声明函数的三种方式<二>
- JavaScript中声明全局变量三种方式的异同
- JavaScript声明全局变量三种方式的异同
- JavaScript——函数的三种声明方式
- 基于JavaScript 声明全局变量的三种方式详解
- JavaScript 声明全局变量的三种方式详解
- 基于JavaScript 声明全局变量的三种方式详解
- 基于JavaScript 声明全局变量的三种方式详解
- JavaScript声明全局变量三种方式的异同
- javascript 声明对象的方式
- [列表]Tesla.Angela写的一些与WINDOWS底层编程相关的PoC
- ChemStat.v6.1地下水+EnviroINSITE.v5.1.0
- eclipse git 提交失败
- PAT Huffman Codes 哈弗曼树,C语言实现
- Android | AppCompatActivity
- JavaScript声明一个对象的三种方式
- IIS和Tomcat共用80端口后撤回,用Tomcat使用80端口
- 《android在活动中使用menu》有感
- iPhone X UITabBarController UITabBar 适配解读
- Oracle学习
- vim 命令全
- springMVC modelAndView初级应用
- 基于51单片机的pwm和串口通信
- linux简介及常用命令2