Javascript 直接运用原型继承
Javascript 直接使用原型继承
个人觉得使用Javascript的时候创建自定义的类,没必要非得像Java、ruby等面向对象的语言那样创建一个类,然后使用new关键字,生成类的实例。因为JS是使用原型链的继承方式。那我们直接使用此方式即可,下面是小弟的代码,欢迎大家抛砖。
-------------------------------
1. 创建module。
2. 创建自定义类custom_obj,并且创建其原型方法get_name和get_sex。
3. 再module上添加自定义了同名的方法,将参数赋值给闭包的局部变量;使用new返回自定义对象。
稍微解释一下,虽然在 第三部也是用了new,但是这个new只是为了将当前对象的prototype指向自定义对象,和将this指针指向自定义对象,并不是创建类的实例的意思。
个人觉得使用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指针指向自定义对象,并不是创建类的实例的意思。