如何创建一个对象
来源:互联网 发布:出国gpa算法 知乎 编辑:程序博客网 时间:2024/05/16 15:26
new
构造函数
javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON;但写法有很多种,也能混合使用。
(1)对象字面量的方式
person={firstname:"Mark",lastname:"Yun",age: 25,eyecolor:"black"};
(2)用function来模拟无参的构造函数
function Person(){}
var person = new Person(); //定义一个function,如果使用new"实例化",该function可以看作是一个Class
person.name = "Xiaosong";
person.age = "23";
person.work = function() {
alert("Hello " + person.name);
}
person.work();
(3)用function来模拟参构造函数来实现(用this关键字定义构造的上下文属性)
function Person(name,age,hobby) {
this.name = name; //this作用域:当前对象
this.age = age;
this.work = work;
this.info = function() {
alert("我叫" + this.name + ",今年" + this.age + "岁,是个" + this.work);
}
}
var Xiaosong = new Person("WooKong",23,"程序猿"); //实例化、创建对象
Xiaosong.info(); //调用info()方法
(4)用工厂方式来创建(内置对象)
var jsCreater = new Object();
jsCreater.name = "Brendan Eich"; //JavaScript的发明者
jsCreater.work = "JavaScript";
jsCreater.info = function() {
alert("我是"+this.work+"的发明者"+this.name);
}
jsCreater.info();
(5)用原型方式来创建
function Standard(){}
Standard.prototype.name = "ECMAScript";
Standard.prototype.event = function() {
alert(this.name+"是脚本语言标准规范");
}
var jiaoben = new Standard();
jiaoben.event();
(6)用混合方式来创建
function iPhone(name,event) {
this.name = name;
this.event = event;
}
iPhone.prototype.sell = function() {
alert("我是"+this.name+",我是iPhone5s的"+this.event+"~ haha!");
}
var SE = new iPhone("iPhone SE","官方翻新机");
SE.sell();
- 如何创建一个对象
- JavaScript如何创建一个对象
- 一个类如何只创建一个对象?
- JavaScript Core -- 如何创建一个对象
- 如何限制类仅能创建一个对象
- 【PB】如何创建一个动态的数据窗口对象?
- 如何创建一个动态的数据窗口对象
- 如何创建一个动态的数据窗口对象
- 第二课 如何去创建一个类和对象
- ACM-选择器公用一个对象时如何销毁好创建
- 如何创建一个UIImageView对象去显示图片
- OC-003.如何去创建一个NSString的对象
- 【PB】如何创建一个动态的数据窗口对象?
- 如何创建一个不被回收的对象
- Spring的如何通过bean创建一个对象,并赋值。
- javascript如何创建一个对象以及语言特点
- java如何创建一个指定的日期对象
- 如何创建一个新对象?如何使用对象中的属性和方法?
- 关于android studio ndk Error:(115) *** Android NDK: Aborting . Stop.错误
- Linux系统目录结构
- Maven项目pom.xml文件报xxx\target\classes\META-INF\MANIFEST.MF (系统找不到指定的路径)的问题解决
- Spring MVC与JAX-RS比较与分析
- element-ui 表格实现单元格可编辑的方法
- 如何创建一个对象
- Fundebug能够捕获这些BUG
- 单片机时钟程序(9)lcd1602.h
- SuperTextView
- 【算法】冒泡排序(从小到大) 排序范围(0~n-1)n为数组元素个数
- UnboundLocalError: local variable 'sum1' referenced before assignment
- linux 安装mysql
- (9)计算人民币各个面额的数量
- SDWebImage 和MWPhotoBrower联合使用的时候加载进度的expectSize一直为0或-1