JavaScript创建对象简单的说,无非就是使用内置对象(Object)或各种自定义对象,当然还可以用JSON,但写法有很多种,也能混合使用。

1、对象字面量的方式

person = {name : 'limengyi' , age = 21 };

2、用function来模仿无参构造函数

	function Person(){};

	//定义了一个function,如果使用new“实例化”,该function可以看作一个class
var person = new Person(); person.name = 'limengyi';
person.age = 21;
person.sayInfo = function(){
alert("我叫 "+person.name+","+person.age+"岁");
} person.sayInfo();

3、用function来模拟有参构造函数(用this关键字定义构造的上下文属性)

	function Person(name,age){
this.name=name; //this作用域:当前对象
this.age=age;
this.sayInfo=function(){
alert("我叫 "+this.name+","+this.age+"岁")
}
} var person = new Person('limengyi',21); person.sayInfo();

4、用工厂方式来创建(使用内置对象Object)

	var person = new Object();

    person.name='limengyi';
person.age=21;
person.sayInfo=function(){
alert("我叫 "+person.name+","+person.age+"岁")
} person.sayInfo();

5、用原型方法创建

	function Person(){};

    Person.prototype.name='limengyi';
Person.prototype.age=21;
Person.prototype.sayInfo=function(){
alert("我叫 "+this.name+","+this.age+"岁")
} var person = new Person(); person.sayInfo();

6、用混合方式(有参构造函数 + 原型方法)创建

用有参构造函数设置每个实例特有的属性和方法

用原型方法设置所有实例共享的属性和方法

	function Person(name,age){
this.name=name;
this.age = age;
} Person.prototype.sayInfo=function(){
alert("我叫 "+this.name+","+this.age+"岁")
} var person1 = new Person('limengyi',21);
var person2 = new Person('lee',12); person1.sayInfo(); //"我叫 limengyi,21岁"
person2.sayInfo(); //"我叫 lee,12岁"

JavaScript创建对象的6种方式的更多相关文章

  1. JavaScript 创建对象的七种方式

    转自:xxxgitone.github.io/2017/06/10/JavaScript创建对象的七种方式/ JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以 ...

  2. JavaScript创建对象的几种 方式

    //JavaScript创建对象的七种方式 //https://xxxgitone.github.io/2017/06/10/JavaScript%E5%88%9B%E5%BB%BA%E5%AF%B9 ...

  3. javascript创建对象的几种方式

    javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON:但写法有很多种,也能混合使用.主要为下面几种:1.对象字面量的方式 person={firstname ...

  4. [转载]javascript创建对象的几种方式

    原文链接:http://qingfeng825.iteye.com/blog/1935648 1. 工厂方法:能创建并返回特定类型对象的工厂函数(factory function). function ...

  5. javascript创建对象的几种方式?

    javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON:但写法有很多种,也能混合使用. 1.对象字面量的方式 person={ firstname:" ...

  6. JavaScript创建对象的几种方式总结

    ECMA把对象定义为:无序属性的集合,其属性可以包含基本值.对象或者函数. 1. 使用Object构造函数创建对象 创建自定义对象的最简单的方式就是创建一个Object的实例,然后再为它添加属性和方法 ...

  7. javascript 创建对象的几种方式

    1. //基于已有对象扩充其属性和方法var object = new Object(); object.name = "zhangsan"; object.sayName = f ...

  8. Javascript 创建对象的三种方式

    function createPerson(name, qq) //工厂方式 { //在工厂里创建个对象 var obj=new Object(); obj.name=name; obj.qq=qq; ...

  9. javascript创建对象的7种方式

    /*1.工厂模式*/ function createPerson(name,age,job) { var o = new object(); o.name = name; o.age = age; o ...

随机推荐

  1. WCF中的异常

       一.考虑到安全因素,为了避免将服务端的异常发送给客户端.默认情况下,服务端出现异常会对异常屏蔽处理后,再发送到客户端.所以客户端捕捉到的异常都是同一个FaultException异常. 例如在服 ...

  2. win10 uwp 让焦点在点击在页面空白处时回到textbox中

    在网上 有一个大神问我这样的问题:在做UWP的项目,怎么能让焦点在点击在页面空白处时回到textbox中? 虽然我的小伙伴认为他这是一个 xy 问题,但是我还是回答他这个问题. 首先需要知道什么是空白 ...

  3. win10 uwp unix timestamp 时间戳 转 DateTime

    有时候需要把网络的 unix timestamp 转为 C# 的 DateTime ,在 UWP 可以如何转换? 转换函数可以使用下面的代码 private static DateTime UnixT ...

  4. CSS阴影盒子

    box-shadow:inset 横向偏移量  纵向偏移量  模糊范围  扩展范围  阴影颜色: 1.inset :(可选) 内阴影,不设置inset,表示盒子外部显示一个投影.也可写在最后. 2.横 ...

  5. MySQL填坑系列--Linux平台下MySQL区分大小写问题

    大家好,我是软件大盗(道),下面开始我们的<MySQL填坑系列>. 笔者最近又在MySQL的边缘试探,然后,试探着,试探着就报错了. 书接上文,系统连接数据库时报错:找不到DB_TIMIN ...

  6. python Django html 模板循环条件

    views里返回数据为例: renturn render(request,'xxx.html',{'obj':123,'k1':[1,2,3,4],'k2':{'name':'yooma','age' ...

  7. 移动端实现上拉加载更多(使用dropload.js vs js)

    做下笔记,:移动端实现上拉加载更多,其实是数据的分段加载,在这里为了做测试我写了几个json文件作为分段数据: 方式一:使用dropload.js; 配置好相关参数及回调函数就可使用:代码如下 var ...

  8. 实用的Javascript获取网页屏幕可见区域高度

    本文转载原地址:这里 document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 docu ...

  9. OpenGL学习--02--绘制一个红色三角形

    The OpenGL buffer is created, bound, filled and configured with the standard functions (glGenBuffers ...

  10. css文字飞入效果

    一.页面的主体布局 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> & ...