对象初始化方式(也叫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. MySQL Server 5.7解压版缺少文件无法启动

    如题: 一般认为5.7中mysql目录下 缺少data/mysql/目录,导致无法启动: 解决方案: 重新安装5.6即可: 1.删除5.7中安装的服务: 到mysql\bin目录下运行:mysqld ...

  2. chrome离线安装包_下载

    ZC: 如何下载的文章 参考:“https://www.tekrevue.com/tip/download-chrome-offline-installer/” 1. f/q 2.下载网址: 2.1. ...

  3. ubuntu_ar命令(操作 ?.deb文件)

    1. -x  从自备存文件中取出成员文件. 1.1. “root@zc33-desktop:/home# ar -x libstdc++6_4.7.2-5_i386.deb” 这样的话,它会把 lib ...

  4. Python学习(2)基本语法

    目录 交互式编程 脚本式编程 Python 标识符 Python保留字符 行和缩进 多行语句 Python 引号 Python注释 Python空行 python的输入和输出 命令行参数 交互式编程 ...

  5. 在VNC中Xfce4中Tab键失效的解决方法

    说明 在Ubuntu Server 14.04上安装了xfce4桌面环境,但是却发现在终端中Tab键不能自动补齐(但是Ctrl + I 仍然可以用). 出现这种情况的原因是,由于Tab键的功能被窗口快 ...

  6. 自定义获取焦点的TextView

    自定义控件编写流程 创建一个默认就能获取焦点的TextView 1.创建一个类继承至TextView,FocusTextView 2.重写其构造方法 //使用在通过java代码创建控件 public ...

  7. Delphi 程序结构

    注:该内容整理自以下链接. http://www.cnblogs.com/hackpig/archive/2010/02/15/1668513.html 概要介绍:Object Pascal语言的结构 ...

  8. iOS之UIImagePickerController的应用

    直接代码敬之 @import MobileCoreServices; @import AVFoundation; <UIImagePickerControllerDelegate,UINavig ...

  9. BigDecimal类型比较大小

    这个类是java里精确计算的类 1 比较对象是否相等     一般的对象用equals,但是BigDecimal比较特殊,举个例子:     BigDecimal a=BigDecimal.value ...

  10. [转]c++面向对象基础

    from: here 1. C++面向对象程序设计的重要概念 早期革命影片里有这样一个角色,他说:“我是党代表,我代表党,我就是党.”后来他给同志们带来了灾难. 会用C++的程序员一定懂得面向对象程序 ...