js重写方法的简单实现

如下所示:

Function.prototype.method = function(name, fn) {
  this.prototype[name] = fn;//this指的应该是Function.prototype对象
  return this;//返回此对象,这个有助于像jq那样的级联操作

};

Number.method("interge",function(){

});//Number是一个构造函数,所以拥有上面的method方法,所以最后返回了Number对象(构造函数),所以可以(-10/3).interge()

待续。。

//主要是调用父类的方法

Obj.method("surper",function(name){
    var that = this;
    var method = that[name];
    return function(){
         return method.apply(that,arguments);//如果这里面没有that的话,就不会有cat.getName(that(是一个对象))
    }
  });//下面是一个应用

var coolcat = function(spec){

      var that = cat(spec);//个人感觉这里,这里的that可以有了cat就有“一些方法”

      var getName = that.surper("getName");//这里感觉应该是用新生成的对象来做,应该才是更好的。最好不用that.

      that.get_name= function(){

            return "me"+getName()+"me";

      }

      return that;

}

上面的内容来自《javascript语言精粹》,真的很不错。

以上这篇js重写方法的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 在JavaScript中重写jQuery对象的方法实例教程

    jQuery是一个款非常优秀的类库,它给我们解决了很多的客户端编程,但是任何东西都不是万能的,当它不能满足我们的需求时我们就需要对它进行重写,同时也不要影响其原有的功能或者修改其原有的功能:比如我现在的web应用程序大多数时候的数据交互都是通过Ajax来完成的,这样就可以将一些隐藏字段的数据保存在HTML标签的属性中,使HTML标签的代码量减少,如:ID,Timestamp等等,这些不需要用户输入但又不得不提交的字段,通过表单提交的做法是 <input name="ID" val

  • js怎么覆盖原有方法实现重写

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script> function myblur () { alert("1.离开"); } function bindEvent(func){ myblur = func; } function myonclick() { bin

  • javascript重写alert方法的实例代码

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="

  • js重写方法的简单实现

    如下所示: Function.prototype.method = function(name, fn) { this.prototype[name] = fn;//this指的应该是Function.prototype对象 return this;//返回此对象,这个有助于像jq那样的级联操作 }; Number.method("interge",function(){ });//Number是一个构造函数,所以拥有上面的method方法,所以最后返回了Number对象(构造函数),

  • require.js使用方法的简单代码讲解笔记

    目录 目的: 基本API 第一步:a.js定义 第二步:引入这个模块 加载文件 页面需要加载多个js文件时,加载时浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长:由于js文件之间存在依赖关系,必须严格保证加载顺序,当依赖关系很复杂的时候,代码的编写和维护都会变得困难.这种情况下require.js插件应运而生. 目的: 这个插件的体积非常小14k左右,主要是解决目前我们js文件引入臃肿的问题,它可以将我们需要的js文件定义成一个模块的方式,只要我们想引入某个模块,我们声明引入就可

  • c#模拟js escape方法的简单实例

    复制代码 代码如下: public static string Escape(string s)        {            StringBuilder sb = new StringBuilder();            byte[] ba = System.Text.Encoding.Unicode.GetBytes(s);            for (int i = 0; i < ba.Length; i += 2)            {              

  • js获取html的span标签的值方法(超简单)

    HTML中代码为: <span id="testid">aaaa</span> 获取的js代码: 方法一:.innerText var x1 = document.getElementById("testid").innerText; alert("x1="+x1); 方法二:.innerHTML var x2 = document.getElementById("testid").innerHTML;

  • 使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)

    在网站开发中,经常会简单使用js代码来判断字符串中有多少汉字的功能.今天小编抽时间给大家分享实现代码.废话不多说了,直接给大家贴代码了. $("form").submit(function () { var content = editor.getContentTxt(); var sum = 0; re = /[\u4E00-\u9FA5]/g; //测试中文字符的正则 if (content) { if (re.test(content)) //使用正则判断是否存在中文 { if

  • 原生js实现ajax方法(超简单)

    上一篇文章写到原生js取代jquery的一些常用函数:原生js仿jquery一些常用方法,那么,ajax如何实现呢?如下是一个比较完整的ajax() function ajax(){ var ajaxData = { type:arguments[0].type || "GET", url:arguments[0].url || "", async:arguments[0].async || "true", data:arguments[0].d

  • js判断checkbox是否选中个数的方法(超简单)

    实例如下: <SCRIPT LANGUAGE="JavaScript"> //判断同类型 function checkboxnum(){ var form = document.forms['formbj1']; var i,j=0; for (i=0; i<form.length; i++){ var e=form[i]; if (e.checked && e.type=='checkbox' && e.name=='bjid[]')

  • 用js读写cookie的简单方法(推荐)

    在数据安全要求不是很高的情况下,我们可以直接用js对cookie进行读写,这样比较方便. 代码如下: /* 功能:保存cookies函数 参数:name,cookie名字:value,值 */ function SetCookie(name,value){ var Days = 30*12; //cookie 将被保存一年 var exp = new Date(); //获得当前时间 exp.setTime(exp.getTime() + Days*24*60*60*1000); //换成毫秒

  • js创建数组的简单方法

    1.数组的声明方法 (1): arrayObj = new Array(); //创建一个数组. 代码如下: var arr1 = new Array(); (2):arrayObj = new Array([size]) 创建一个数组并指定长度,注意不是上限,是长度. 代码如下: var a = new Array(5); (3):arrayObj = new Array([element0[, element1[, ...[, elementN]]]]) 创建一个数组并赋值. 代码如下: v

  • 原生JS取代一些JQuery方法的简单实现

    1.选取元素 // jQuery var els = $('.el'); // Native var els = document.querySelectorAll('.el'); // Shorthand var $ = function (el) { return document.querySelectorAll(el); } querySelectorAll方法返回的是NodeList对象,需要转换为数组. myList = Array.prototype.slice.call(myNo

随机推荐