JavaScript创建对象的6种方式
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种方式的更多相关文章
- JavaScript 创建对象的七种方式
转自:xxxgitone.github.io/2017/06/10/JavaScript创建对象的七种方式/ JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以 ...
- JavaScript创建对象的几种 方式
//JavaScript创建对象的七种方式 //https://xxxgitone.github.io/2017/06/10/JavaScript%E5%88%9B%E5%BB%BA%E5%AF%B9 ...
- javascript创建对象的几种方式
javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON:但写法有很多种,也能混合使用.主要为下面几种:1.对象字面量的方式 person={firstname ...
- [转载]javascript创建对象的几种方式
原文链接:http://qingfeng825.iteye.com/blog/1935648 1. 工厂方法:能创建并返回特定类型对象的工厂函数(factory function). function ...
- javascript创建对象的几种方式?
javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON:但写法有很多种,也能混合使用. 1.对象字面量的方式 person={ firstname:" ...
- JavaScript创建对象的几种方式总结
ECMA把对象定义为:无序属性的集合,其属性可以包含基本值.对象或者函数. 1. 使用Object构造函数创建对象 创建自定义对象的最简单的方式就是创建一个Object的实例,然后再为它添加属性和方法 ...
- javascript 创建对象的几种方式
1. //基于已有对象扩充其属性和方法var object = new Object(); object.name = "zhangsan"; object.sayName = f ...
- Javascript 创建对象的三种方式
function createPerson(name, qq) //工厂方式 { //在工厂里创建个对象 var obj=new Object(); obj.name=name; obj.qq=qq; ...
- javascript创建对象的7种方式
/*1.工厂模式*/ function createPerson(name,age,job) { var o = new object(); o.name = name; o.age = age; o ...
随机推荐
- WCF中的异常
一.考虑到安全因素,为了避免将服务端的异常发送给客户端.默认情况下,服务端出现异常会对异常屏蔽处理后,再发送到客户端.所以客户端捕捉到的异常都是同一个FaultException异常. 例如在服 ...
- win10 uwp 让焦点在点击在页面空白处时回到textbox中
在网上 有一个大神问我这样的问题:在做UWP的项目,怎么能让焦点在点击在页面空白处时回到textbox中? 虽然我的小伙伴认为他这是一个 xy 问题,但是我还是回答他这个问题. 首先需要知道什么是空白 ...
- win10 uwp unix timestamp 时间戳 转 DateTime
有时候需要把网络的 unix timestamp 转为 C# 的 DateTime ,在 UWP 可以如何转换? 转换函数可以使用下面的代码 private static DateTime UnixT ...
- CSS阴影盒子
box-shadow:inset 横向偏移量 纵向偏移量 模糊范围 扩展范围 阴影颜色: 1.inset :(可选) 内阴影,不设置inset,表示盒子外部显示一个投影.也可写在最后. 2.横 ...
- MySQL填坑系列--Linux平台下MySQL区分大小写问题
大家好,我是软件大盗(道),下面开始我们的<MySQL填坑系列>. 笔者最近又在MySQL的边缘试探,然后,试探着,试探着就报错了. 书接上文,系统连接数据库时报错:找不到DB_TIMIN ...
- python Django html 模板循环条件
views里返回数据为例: renturn render(request,'xxx.html',{'obj':123,'k1':[1,2,3,4],'k2':{'name':'yooma','age' ...
- 移动端实现上拉加载更多(使用dropload.js vs js)
做下笔记,:移动端实现上拉加载更多,其实是数据的分段加载,在这里为了做测试我写了几个json文件作为分段数据: 方式一:使用dropload.js; 配置好相关参数及回调函数就可使用:代码如下 var ...
- 实用的Javascript获取网页屏幕可见区域高度
本文转载原地址:这里 document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 docu ...
- OpenGL学习--02--绘制一个红色三角形
The OpenGL buffer is created, bound, filled and configured with the standard functions (glGenBuffers ...
- css文字飞入效果
一.页面的主体布局 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> & ...