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重写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怎么覆盖原有方法实现重写
<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中重写jQuery对象的方法实例教程
jQuery是一个款非常优秀的类库,它给我们解决了很多的客户端编程,但是任何东西都不是万能的,当它不能满足我们的需求时我们就需要对它进行重写,同时也不要影响其原有的功能或者修改其原有的功能:比如我现在的web应用程序大多数时候的数据交互都是通过Ajax来完成的,这样就可以将一些隐藏字段的数据保存在HTML标签的属性中,使HTML标签的代码量减少,如:ID,Timestamp等等,这些不需要用户输入但又不得不提交的字段,通过表单提交的做法是 <input name="ID" val
-
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
随机推荐
- 读取注册表根据Office版本获取数据库连接字段
- 用JS判断IE版本的代码 超管用!
- Windows下Redis安装配置简单教程
- Javascript 小技巧全集第1/4页
- dos 创建文件夹 md
- Java基本数据类型与封装类型详解(int和Integer区别)
- asp.net repeater实现批量删除时注册多选框id到客户端
- 消息持续发送的完整例子
- PHP接收json 并将接收数据插入数据库的实现代码
- 启用Csrf后POST数据时出现的400错误
- Python实现简单的四则运算计算器
- 在IE与FF中如何居中的css写法
- Linux基础命令大全(笔记一)
- Android中自定义ImageView添加文字说明详解
- Android ListView物流获取追踪功能实现
- 出错也不怕—Linux系统紧急情况处理方法
- Android编程之json解析实例详解
- 为TextBox装饰水印与(blur和focus)事件应用
- 搜集了几个不错的下拉菜单效果
- C#基于NPOI生成具有精确列宽行高的Excel文件的方法