六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 174|回复: 0

Javascript 直接使用原型继承

[复制链接]

升级  64%

8

主题

8

主题

8

主题

童生

Rank: 1

积分
32
 楼主| 发表于 2013-1-29 08:44:38 | 显示全部楼层 |阅读模式
个人觉得使用Javascript的时候创建自定义的类,没必要非得像Java、ruby等面向对象的语言那样创建一个类,然后使用new关键字,生成类的实例。因为JS是使用原型链的继承方式。那我们直接使用此方式即可,下面是小弟的代码,欢迎大家抛砖。

var module = (function(m){    var m_name, m_sex;    m.custom_obj = function(name, sex){        m_name = name;         m_sex = sex;        return new custom_obj();    }    function custom_obj(){    }    custom_obj.prototype.get_name = function(){        return m_name;    }    custom_obj.prototype.get_sex = function(){        return m_sex;    }    return m; }(module || {}));var obj = module.custom_obj("icekiller", "man");console.log(obj);console.log(obj.get_name());console.log(obj.get_sex());

-------------------------------
1. 创建module。
2. 创建自定义类custom_obj,并且创建其原型方法get_name和get_sex。
3. 再module上添加自定义了同名的方法,将参数赋值给闭包的局部变量;使用new返回自定义对象。

稍微解释一下,虽然在 第三部也是用了new,但是这个new只是为了将当前对象的prototype指向自定义对象,和将this指针指向自定义对象,并不是创建类的实例的意思。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表