个人觉得使用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指针指向自定义对象,并不是创建类的实例的意思。
分享到:
相关推荐
理解Javascript原型继承原理
javascript原型继承,prototype的使用,可以像java一样继承
浅析Javascript原型继承,浅析Javascript原型继承
Javascript原型继承Javascript原型继承Javascript原型继承
浅析javascript原型继承机制,浅析javascript原型继承机制
JavaScript中的原型继承基础学习教程_.docx
JavaScript一种没有类的,面向对象的语言,它使用原型继承来代替类继承。这个可能对受过传统的面向对象语言(如C++和Java)训练的程序员来说有点迷惑。JavaScript的原型继承比类继承有更强大的表现力,现在就让我们...
更有甚者,JavaScript属于使用原型式继承(我们会向你证明这其实是一个极大的优点)的少数语言之一。得益于这种语言的灵活性,你既可使用标准的基于类的继承,也可使用更微妙一些(但也可能更有效一些)的原型式继承...
javascript原型继承机制参考.pdf
javascript原型继承机制借鉴.pdf
javascript原型继承机制归类.pdf
JavaScript 不包含传统的类继承模型,而是使用 prototypal 原型模型。...由于 JavaScript 是唯一一个被广泛使用的基于原型继承的语言,所以理解两种继承模式的差异是需要一定时间的,今天我们就来了解一下原型和原型链
JavaScript中基于原型的继承的实现与分析.pdf
javascript原型继承机制[整理].pdf
主要介绍了JavaScript使用原型和原型链实现对象继承的方法,简单讲述了javascript原型与原型链的原理,并结合实例形式详细分析了javascript中对象继承的常见实现技巧,需要的朋友可以参考下
面向对象概念(对象封装,各种继承,闭包原理,this作用域等)介绍清晰易懂
JavaScript中的原型和继承详解(图文)_.docx
JavaScript中实现继承最简单的方式就是使用原型链,将子类型的原型指向父类型的实例即可,即“子类型.prototype = new 父类型();”,实现方法如下: // 为父类型创建构造函数 function SuperType() { thi
Javascript原型对象、this的5钟用法、原型继承、Caller和Callee的使用.docx
javascript原型继承工作原理和实例详解_.docx