`
hm4123660
  • 浏览: 282410 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Dea4ce76-f328-3ab2-b24a-fb268e1eeb75
数据结构
浏览量:69994
社区版块
存档分类
最新评论

JS的类

    博客分类:
  • JS
阅读更多

js并不是一种面向对向的语言, 没有提供对类的支持, 因此我们不能像在传统的语言里那样 用class来定义类, 但我们可以利用js的闭包封装机制来实现js类, 我们来封装一个简的ocar类.

 

function ocar(color){
  this.color = color;
  this.arr = new Array("s");


  this.hello = function()
  {
    alert("ShapeBase show");
   }; 

 

};


 ocar.prototype.showColor = function(){
  alert(this.color);
 }

 

var car = new ocar("resd");
 car.showColor();

 

 

二、为类添加新方法:

 

可以用prototype属性为以有的类定义新的方法:

 

 ocar.prototype.showColor = function(){
  alert(this.color);
 }


ocar.prototype.init=function()
 {
     alert("ShapeBase init");
 }; 

//上面不好看,可以写在一起为

ocar.prototype={
    showColor:function()
       {
      alert(this.color);
       },
     init:function() {
           alert("ShapeBase init");
    }
};

 

 

 

三、重定义已有的方法:

 

就像给已有类定义新方法一样,也可以重写类的方法。函数名只是指向函数的指针,因此可以轻易的使用它指向别的函数。从写已有方法的时候Function的第一个F要大写

 

修改本地类toString()方法。

 

Function.prototype.toString = function(){
 return "重写toString";
}
function sayHi(){
 alert("Hi");
}
alert(sayHi.toString);
四。添加静态方法
静态的不必实例化就能直接使用,是说在没有生成任何对象时就能运用该方法,所以静态方法里不能对非静态的成员变量做操作。
//静态方法
ocar.StaticDraw = function()
{
alert("method draw is static");
}
分享到:
评论

相关推荐

    一个JS类(收藏)

    2. **类与实例**:在JavaScript中,类的概念相对较弱,但Prototype.js引入了`Class.create`函数,允许我们创建类的实例,模拟传统的面向对象编程中的类。 3. **函数委托**:Prototype.js通过`Prototype.Browser`来...

    php封装js类,很好用的

    然后,我们来看一下提供的PHP封装的JavaScript类(JS类)示例。这个类包含了一些常用JavaScript函数的封装,便于在PHP中调用: ```php class JS { function JS() {} // 返回上一页 function Back($step = -1) ...

    真正实现51Job的JS类

    JavaScript类是ES6引入的一种新的语法特性,它允许我们创建具有封装、继承和多态性的构造函数,这使得代码更易于维护和扩展。在51Job的场景下,这些类可能包含对行业类别和地区的对象建模,每个对象可能有相应的属性...

    C#的一个JS类 (方便)

    C#的一个JS类C#的一个JS类C#的一个JS类C#的一个JS类C#的一个JS类C#的一个JS类C#的一个JS类

    javascript div弹出窗口 可封装为JS类

    在本案例中,"可封装为JS类"意味着开发者创建了一个可复用的JavaScript对象,该对象可以方便地管理和控制这些弹出窗口。 首先,让我们了解`div`元素。在HTML中,`<div>`是“division”(分隔)的缩写,是一个通用的...

    让文本仿歌词效果的js类 v1.0.rar

    这个"让文本仿歌词效果的js类 v1.0.rar"压缩包文件提供了一个自编写的JavaScript类,其目的是为了实现一种特殊的文本显示效果,即模仿歌词滚动或逐行展示的效果。这种效果通常用于音乐播放器或卡拉OK应用中,使得...

    javascript 原生态js类继承实现的方式

    类定义了一类事物公共的行为和方法;而实例则是类的一个具体实现。 我们还知道,面向对象编程有三个重要的概念 - 封装、继承和多态。 但是在JavaScript的世界中,所有的这一切特性似乎都不存在。 因为JavaScript...

    自定义JS类框架

    "自定义JS类框架"指的是开发者根据自身需求,利用JavaScript语言特性(如原型链、闭包、模块化等)和jQuery库,构建的一种自定义的框架。这个框架可能是为了简化DOM操作、提供更高级别的API、优化性能或者实现特定的...

    让文本仿歌词效果的js类 v1.0-源码.zip

    在JavaScript中,类和对象是实现封装和复用代码的关键,这可能意味着库中包含了一个或多个自定义的JavaScript类,用于封装文本动画的各种逻辑。 4. **事件驱动编程**:为了实现文本的逐行显示,库可能依赖于...

    公历与农历互转的js类

    在IT行业中,编程语言JavaScript(js)是一种广泛使用的脚本语言,尤其在Web开发领域,无论是前端还是后端都有其身影。在这个场景中,我们关注的是一个名为"公历与农历互转的js类"的工具,它适用于微信小程序以及H5...

    像import java类一样 import js类

    标题“像import java类一样 import js类”暗示了这篇博文主要讨论的是JavaScript中引入模块的方式,尝试模拟Java的导入机制。在JavaScript的世界里,我们通常使用`require`(Node.js环境)或`import`(ES6及以后版本...

    通用不间断滚动JS封装类

    在这个场景下,"通用不间断滚动JS封装类"可能是一个自定义的JavaScript类,它包含了实现滚动效果所需的所有方法和属性。 描述中提到的博文链接(https://aina5626.iteye.com/blog/1201724)是深入理解这个封装类的...

    asp.net中javascript通用类

    通过这样的通用JavaScript类,开发者可以创建出更健壮、可维护的ASP.NET应用,同时提高开发效率。不过,随着技术的发展,现代Web开发中更多地倾向于使用库和框架(如jQuery、React、Vue等),它们提供了更高级别的...

    XScroll.js 图片幻灯片切换效果(焦点图切换)的Javascript类.zip

    "XScroll.js 图片幻灯片切换效果(焦点图切换)的Javascript类.zip" 是一个包含实现图片幻灯片切换效果的JavaScript类的压缩包。这个效果通常用于网站的首页或者产品展示区域,以吸引用户的注意力并提供一种优雅的...

    检测JavaScript类的内聚耦合Code Smell.pdf

    本文介绍了一种名为JS4C的检测方法,专门针对JavaScript类中的FE(Feature Envy)、DC(Data Clumps)和Blob这三种内聚耦合Code Smell。Code Smell是程序中潜在问题的标志,通过检测和识别,可以指导开发者进行重构...

    一个类Excel纯JS表格上下滚动显示、在线编辑js类控件

    1.本控件设计封装了一个纯javascript表格显示js类控件,可以直接接口mysql数据库结果集查询,调用只需一行语句。控件具有自定义显示颜色、自定义显示宽高、类似excel上下左右滚动翻页、按字段排序、选择、修改、添加...

    JavaScript类的写法

    早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成类。 在js中,写成类的本质基本都是 构造函数+原型。下面,就讨论一下js类的几种写法...

    extj省市区连动js分装类

    标题提到的"extj省市区连动js分装类",指的是使用ExtJS框架实现的一个JavaScript类,这个类专门用于处理中国省、市、区三级联动的选择效果。ExtJS是一个强大的JavaScript UI库,它提供了丰富的组件和数据绑定机制,...

Global site tag (gtag.js) - Google Analytics