对象初始化方式(也叫json对象创建方式)

<script type="text/javascript">
var User = {
name:"paul",
age:25,
toString:function()
{
alert(this.name+' is '+ this.age);
}
}
function display_user()
{

/* 不能用这种方式去创建对象,因为json对象方式没有构造函数*/

var paul = new User();

/* 直接用如下方式引用就可以了*/
User .toString();
}
</script>

构造函数方式

function User(name,age)
{
this.name =name;
this.age = age;
this.toString=function()
{
alert(this.name+' is '+this.age);
}
}

function display_user()
{

/* 因为对象有了构造函数,所以可以用如下方式 */
var paul = new User('paul',25);
paul.toString();
}

对于对象属性和方法的定义可以有如下几种方式:

属性分为私有属性,实例属性,和类属性;方法也是一样的,分为方法分为私有方法,实例方法,和类方法。

function User(name,age)
{
this.name =name;
this.age = age;
var adult_age = 18; /* 这是私有的属性*/

this.toString=function()
{
alert(this.name+' is '+this.age);
}
}

function display_user()
{
var paul = new User('paul',25);
paul.toString();

/* 因为adult_age是私有的属性,所以不能以这种方式访问,所以会出现undefined */
alert(paul.adult_age);
}

实例方法

function User(name,age)
{
this.name =name;
this.age = age;
var adult_age = 18;
this.toString=function()
{
alert(this.name+' is '+this.age);
}
}

/* 可以用原型的方式来添加实例的属性和方法 */
User.prototype.lastName = 'hu';

function display_user()
{
var paul = new User('paul',25);
paul.toString();
/* 以下是实例属性 */
alert(paul.name+' '+paul.lastName);
}

类的方法和属性

function User(name,age)
{
this.name =name;
this.age = age;
var adult_age = 18;
this.toString=function()
{
alert(this.name+' is '+this.age);
}
}
User.ID = 20000000;

function display_user()
{
var paul = new User('paul',25);
paul.toString();
/* 通过类名来进行引用 */
alert(User.ID);
}

javascrip自定义对象的方式的更多相关文章

  1. JS 创建自定义对象的方式方法

    一.概述 还记得刚开始做项目的时候,看到别人封装的js工具类百思不得其解,看来看去看不懂,深挖一下,其实就是自己没有耐下心去看,但是遇到问题不解决,总会遇到的,今天还是遇到了,就去找了找帖子,重新思考 ...

  2. Spark 实现自定义对象sequenceFile方式存储,读写示例(scala编写)

    package com.fuge.bigdata.datahub.analysis import java.io.{DataInput, DataOutput} import com.fuge.big ...

  3. Map集合的遍历方式以及TreeMap集合保存自定义对象实现比较的Comparable和Comparator两种方式

    Map集合的特点 1.Map集合中保存的都是键值对,键和值是一一对应的 2.一个映射不能包含重复的值 3.每个键最多只能映射到一个值上 Map接口和Collection接口的不同 Map是双列集合的根 ...

  4. OBjective-C:在可变数组NSMutableArray中添加相同对象后,进行自定义的排序方式输出

    以下为自定义的排序方式的实现 #import "Person+Compare.h" @implementation Person (Compare) -(NSComparisonR ...

  5. JavaScript 自定义对象

    在Js中,除了Array.Date.Number等内置对象外,开发者可以通过Js代码创建自己的对象. 目录 1. 对象特性:描述对象的特性 2. 创建对象方式:对象直接量.new 构造函数.Objec ...

  6. Asp.Net 自定义储存Session方式

    介绍 由于针对于自定义Session存储方式比较少,所以整理了使用自定义Session的方式.用于构建自定义会话存储提供程序代码,而不是使用默认的 SessionStore 介绍 背景 本文使用的是m ...

  7. javascript对象创建方式

    工厂模式 在ECMAscript中无法创建类,所以开发人员就发明了一种函数,用函数来封装,以特定接口创建对象的细节,如下面的例子所示: function createPerson(name,age,j ...

  8. js自定义对象

    一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 目前在Javascrip ...

  9. Java对象表示方式1:序列化、反序列化和transient关键字的作用

    平时我们在Java内存中的对象,是无法进行IO操作或者网络通信的,因为在进行IO操作或者网络通信的时候,人家根本不知道内存中的对象是个什么东西,因此必须将对象以某种方式表示出来,即存储对象中的状态.一 ...

随机推荐

  1. 刻录DVD_目录

    1.down.52pojie.cn (20160701) (1 in 5) 工具 2.down.52pojie.cn (20160701) (2 in 5) Android VM 6/7 3.down ...

  2. 笔记本_hp

    1.技术支持 http://support.hp.com/cn-zh 2.搜到的信息:“http://forum.51nb.com/thread-1080424-1-1.html” Product N ...

  3. bootstrap学习笔记<四>(table表格)

    表格 bootstrap为table表格定制多个常用样式:基本样式,隔行变色样式,带边框样式,荧光棒样式,紧凑样式,响应样式. ☑  .table:基础表格 ☑  .table-striped:斑马线 ...

  4. mysql 锁的粒度

    1.锁的类型分为读锁和写锁,这个很好区分.可以这样认为:如果有增删改,就是写锁.如果是查询,就是读锁.2.锁的粒度也就是锁的范围,分为行锁和表锁.锁的范围和多个因素有关,包括事务隔离级别.是否使用索引 ...

  5. JavaWeb学习总结(七)—HttpServletRequest

    一.Request概述 request是Servlet.service()方法的一个参数,类型为javax.servlet.http.HttpServletRequest.在客户端发出每个请求时,服务 ...

  6. (四)802.1Q VLAN

  7. ajax获取城市和相应的地区

    <!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8&qu ...

  8. ps前端切图常用快捷键

    一.新建文件:预设-自定:宽度1920,单位像素,高度自定义:分辨率:72像素/英寸:颜色模式:RGB,8位:背景色:透明:可存储预设,下次新建的时候,直接在预设中,选择那个名称,点确定.视图:显示- ...

  9. 转:如何学习SQL(第三部分:SQL数据类型与三值逻辑)

    转自:http://blog.163.com/mig3719@126/blog/static/285720652010950921286/ 7. 数据类型 在数据库理论中,关系模型和数据类型这两部分内 ...

  10. SDL2.0的几何图行绘画

    SDL2.0的几何图形绘画 通过SDL_Window.SDL_Renderer.SDL_Texture三者实现了简单的几何图形绘画. 包括了SDL_RenderDrawPoint.SDL_Render ...