对象初始化方式(也叫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. Win7_提高性能

    1. 设置成经典主题:桌面->右键->个性化->经典主题 2. 计算机->右键->属性->高级系统设置 ==> 系统属性->高级->性能-> ...

  2. Java中的Swing键盘绑定案例

    package ch12; import javax.swing.*; import java.awt.*; import java.awt.event.*; /** * Created by Jiq ...

  3. Could not initialize class sun.awt.X11GraphicsEnvironment

    报错:

  4. 5.7 C和C++的关系

  5. 【Android界面实现】FragmentPagerAdapter与FragmentStatePagerAdapter使用详解与区别

    转载请注明出处: http://blog.csdn.net/zhaokaiqiang1992 FragmentPagerAdapter是android-support-v4支持包里面出现的一个新的适配 ...

  6. Android APK混淆

    APK混淆 1 修改project.properties文件 即可实现对项目进行全局混码将proguard.config=${sdk.dir}/tools/proguard/proguard-andr ...

  7. eclipse右击打war包class没打上去的问题

    今天,遇到个诡异的问题,一个工程eclipse打war包class就是打不上,别的能打上,发现这样选择tomcat,打包成功,谨此备注.

  8. Intent 隐式跳转,向下一个活动传递数据,向上一个活动返回数据。

    一.每个Intent只能指定一个action,多个Category. 使用隐式跳转,我们不仅可以跳转到自己程序内的活动,还可以启动其他程序的活动.使得Android多个程序之间的功能共享成为可能. 例 ...

  9. 【c++】读写txt

    #include<iostrea> #include<fstream> int main() { ofstream fout;// 创建一个ofstream对象 fout.op ...

  10. LinuxShell脚本攻略--第九章 管理重任

    收集进程信息 $ ps PID TTY TIME CMD pts/ :: bash pts/ :: ps$ ps -f  #-f 显示更详细的信息UID PID PPID C STIME TTY TI ...