zoukankan      html  css  js  c++  java
  • javascrip自定义对象的方式

    对象初始化方式(也叫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);
    }


    作者:狂流
    出处:http://www.cnblogs.com/kuangliu/
    欢迎转载,分享快乐! 如果觉得这篇文章对你有用,请抖抖小手,推荐一下!

  • 相关阅读:
    python有哪些好的学习资料或者博客?
    运维角度浅谈MySQL数据库优化
    MySQL高可用性之Keepalived+Mysql(双主热备)
    Python 开发者节省时间的 10 个小技巧
    PHP 加密的几种方式
    17种常用的jQuery全屏焦点图代码
    13种酷炫的html5 3D图片切换代码
    14款微信小游戏源码下载
    Ext js框架模拟Windows桌面菜单管理模板
    10款 非常酷炫的网站首页焦点图 兼容ie浏览器
  • 原文地址:https://www.cnblogs.com/kuangliu/p/3462629.html
Copyright © 2011-2022 走看看