js面向对象编程
xuexiaodong2009
主要从事C#编程,精通SQL,JS,jquery等技术,目前主要从事内部办公,微信企业号方面的应用
展开
-
js防止多次提交
1防止多次提交方法1/** * 函数防止多次提交**/function Throttle(method, context, params) { if (!method.IsUsed) { method.IsUsed = true; method.apply(context, params); method.IsUsed = false; }}调用代码:/** *对外调用@method Save **/f.原创 2020-05-25 13:35:40 · 651 阅读 · 0 评论 -
JS格式化字符串函数
/*var str='这是一个测试的字符串:{str0} {str1}'.format({str0:'Hello',str1:'world'});var str='这是一个测试的字符串:{0} {1}'.format('Hello','world');*/String.prototype.format = function (args) { var result = this; if (arguments.length > 0) { if (arguments..原创 2020-05-20 13:35:04 · 436 阅读 · 0 评论 -
js面向对象编程:两个小括号的使用
在查看很多jQuery的过程中,经常遇到两个小括号的情况。例如: (function() { alert("测试1"); })(); (function() { alert("测试3"); }()); 其实这段代码,就是定义了一个匿名函数,并且进行了调用,相当于如下几行代码:(function ListCommon2(原创 2014-06-13 10:05:56 · 2565 阅读 · 0 评论 -
js面向对象编程,定义接口
// Constructor.var Interface = function(name, methods) { if(arguments.length != 2) { throw new Error("Interface constructor called with " + arguments.length + "arguments, but e原创 2014-03-12 15:17:29 · 2651 阅读 · 1 评论 -
js面向对象编程:if中可以使用那些作为判断条件呢?
在所有编程语言中if是最长用的判断之一,但在js中到底哪些东西可以在if中式作为判断表达式呢? 例如如何几行,只是少了一个括号,真假就完全不同,到底表示什么含义呢 var obj={}; obj.Funtext=function(){}; if(obj.Funtext) { alert("true obj.Fu原创 2014-07-07 08:52:27 · 4038 阅读 · 0 评论 -
js面向对象编程:数据的缓存
js也可以通过缓存数据,来加快处理速度。在必要的时候使用空间还换取时间还是值得的。例如需要很长时间才能完成的计算,就可以把计算结果缓存到客户端,以后就可以直接使用缓存的计算结果,不在重复计算。1简单函数的计算结果的缓存 2递归函数的计算结果的缓存 3Ajax读取数据的缓存1简单函数的计算结果的缓存例如: //共用函数,封装内部调用,缓存计算结果 fu原创 2014-08-01 13:10:13 · 2255 阅读 · 0 评论 -
如何改写js中的eval函数?
js中有一个函数eval可以一段文本改为js代码,原创 2014-09-22 10:13:20 · 3703 阅读 · 0 评论 -
jQuery如何判断和设定单选多选是否选中??
如何判断HTML中的单选多选是否选中呢? 这是web编程中最常用的判断,可是前段时间,却遇到了一个很奇怪的问题。我想很多人会这样判断 if($("#weixuanzhong").attr("checked")=="checked")//选中时 { }但如果是如下的HTML代码:却发现上边的判断始终都是真,不管多选框是不是选中。于是我奇怪,以前自己都是这么原创 2014-09-11 08:46:13 · 3837 阅读 · 0 评论 -
如何清除浏览器缓存?
web开发中经常遇到一些很奇怪的问题,例如,发现了问题,改了脚本,结果发布后,问题依然存在,但在服务器上一看,发布的脚本确实改了!!最后才发现,是浏览器缓存在作怪!!现在讨论几种清除浏览器缓存的方法。一种原理是HTTP Header 参数Cache-Control来清空缓存,另一种是利用URL上添加查询字符串来欺骗浏览器强制从服务端读取数据,避免缓存。原创 2014-09-17 14:18:02 · 3694 阅读 · 0 评论 -
JSON数据的处理中的特殊字符
JSON现在是很常见的处理数据的方式了。但由于自己使用的是反射获取数据,必须自己处理特殊字符,但总是发现有一些看不见的字符在前台var obj = jQuery.parseJSON(msg);会转换失败。 例如如下在Vs中可以看到只有两个字符 可实际上却有三个字符,使用notepad++打开一直不明白这些字符是如何进入数据库的,但进入了,就必须处理,否则在前台就原创 2014-08-04 14:31:41 · 5914 阅读 · 0 评论 -
JS格式化日期和格式化日期的字符串转日期
js把日期对象格式化为字符串://完整的格式化js方法 var time2 = new Date().format("yyyy-MM-dd HH:mm:ss");//c#后台的格式化方法 now.Date.ToString("yyyy-MM-dd HH:mm:ss")//完整的格式化 var time2 = new Date().format("yyyy-MM-dd HH:mm:s...原创 2018-12-06 16:32:26 · 4756 阅读 · 0 评论 -
js面向对象编程:this到底代表什么?
在js中this的用法很让人迷惑,有些像Java或者C#中的this,但又不完全一样。按照流行的说法this总是指向调用方法的对象。 1、纯粹函数调用。 function ListCommon2(x) { this.x=x; alert("this 是 ListCommon2"+(this instanceof ListCommon2)); alert原创 2014-06-12 09:01:59 · 2754 阅读 · 0 评论 -
js面向对象编程,如何定义属性字段?
都知道js变量有作用域的概念,因此可以使用这个特性定义私有字段,私有字段的初始化主要是通过构造函数。原创 2014-06-11 09:02:27 · 2859 阅读 · 0 评论 -
js面向对象编程:如何实现方法重载
js中如何实现方法重载?这涉及到三个问题1同名函数的调用问题2函数中特殊的参数arguments3如何利用arguments实现方法重载原创 2014-07-01 13:43:29 · 3347 阅读 · 0 评论 -
js面向对象编程,一个完整的继承例子
父类function Person(name) { this.name = name;}Person.prototype.getName = function() { return this.name;}公共方法:function extend(subClass, superClass) { var F = function() {}; F.prototype原创 2014-04-02 09:29:25 · 2125 阅读 · 0 评论 -
js面向对象编程,一个完整原型的继承例子
/* 基类*/var Person = { name: 'default name', getName: function() { return this.name; }};公共方法function clone(object) { function F() {} F.prototype = object; return new F;}原创 2014-04-02 09:30:03 · 1983 阅读 · 0 评论 -
js面向对象编程:如何检测对象类型
在js中检测对象类型主要有三种,typeof,instanceof,constructor,这几种都可以检测对象的类型,但又有一定的区别。另外还可以使用jQuery来检测类型原创 2014-07-14 11:09:39 · 3252 阅读 · 0 评论 -
js面向对象编程,单例模式的一个例子
/* DataParser singleton, converts character delimited strings into arrays. */ /* Now using true private methods. */GiantCorp.DataParser = (function() { // 私有属性 var whitespaceRegex = /\s+/;原创 2014-06-05 14:15:54 · 2161 阅读 · 0 评论 -
js面向对象编程,一个具有各种方法,字段 完整的类
var Book = (function() { // 私有静态成员变量 var numOfBooks = 0; // 私有静态成员方法 function checkIsbn(isbn) { ... } // Return the constructor. return function(newIsbn, newTitle, newAutho原创 2014-04-02 09:28:57 · 1966 阅读 · 0 评论 -
js面向对象编程: js类定义函数时用不用prototype的区别?
一直在使用js编写自以为是面向对象的方法,遇到一个问题,就是定义一个方法,如下: function ListCommon2(first,second,third) { this.First=function () { alert("first do"+first); } } ListCommon2.do原创 2014-06-09 14:46:42 · 1987 阅读 · 0 评论 -
js面向对象编程:this到底代表什么?第二篇
总认为自己弄明白了js中this的含义,this总是指向调用方法的对象,作为方法调用,那么this就是指实例化的对象。但前几天自己写脚本却遇到了一个很奇怪的问题。 代码如下: //内部对象AutoCompleteInner function AutoCompleteInner(transformResultInner) { if(transfo原创 2014-07-01 14:15:15 · 1721 阅读 · 0 评论 -
js面向对象编程: js类定义函数时prototype和this区别?
在面向对象编写js脚本时,定义实例方法主要有两种如下: function ListCommon2(afirst) { var first=afirst; this.do1=function () { alert("first do"+first); } } ListCommon2.prototy原创 2014-06-10 08:56:37 · 2071 阅读 · 0 评论 -
js面向对象编程:如何定义常量?
js中有一个关键字const,但目前的浏览器似乎还不支持,如果一定要定义一些常量,其实可以使用闭包,匿名函数实现常量的定义。例如:var Class = (function() { var UPPER_BOUND = 100;//定义了常量 var Test={}; // 定义了一个静态方法 获取常量的方法 Test.getUPPER_BOUND=function() {原创 2014-07-01 13:45:27 · 6209 阅读 · 0 评论 -
js面向对象编程:命名空间
在其他语言中为了避免类和方法重名问题,都有一个类似命名空间的概念,在js中实现类似的功能吗?原创 2014-07-01 13:46:55 · 1702 阅读 · 0 评论 -
js面向对象编程,定义类的四种方法
第一种定义类的方法:/* Anim class. */var Anim = function() { ...};Anim.prototype.start = function() { ...};Anim.prototype.stop = function() { ...};/* Usage. */var myAnim = new Anim();myAnim.原创 2014-03-12 14:41:32 · 2399 阅读 · 1 评论