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重写方法的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
在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
随机推荐
- Vmware12虚拟机安装教程 Vmware12虚拟机上安装Oracle
- JSON格式化输出
- 防范非法用户入侵Win 2000/XP系统七招
- 利用VBS发送短信的实现代码(通过飞信)
- 判断WebBrowser浏览器网页加载完成的处理方法
- .Net语言Smobiler开发之如何仿微信朋友圈的消息样式
- 修改了一个很不错的php验证码(支持中文)
- Android实现多媒体录音笔
- 深入理解Android Matrix理论与使用的详解
- Js的Array数组对象详解
- JQuery中DOM实现事件移除的方法
- jquery实现触发时更新下拉列表内容的方法
- js实现在字符串中提取数字
- 实例详解Java实现图片与base64字符串之间的转换
- java利用Ant脚本生成war包全过程
- PHP系统流量分析的程序
- C++回溯法实例分析
- 变量定义与声明的区别详细解析
- 如何使用python操作vmware
- Python线程之定位与销毁的实现