Welcome 微信登录

首页 / 脚本样式 / JavaScript

javascript之典型高阶函数应用介绍

javascript之典型高阶函数应用介绍

缘由 虽然以前也使用过javascript语言,但终究是为了配合后端写的一些零零散散的“代码段”,更不能说是javascript项目了。很荣幸的是上个月刚到公司正好碰上项目开始推倒重写,我们team从头开始做架构和实现,目的很清楚,为了改进和超越前面的版本。这是个真正意义上的javascript“项目”,当然服务端不是我们team来负责啦。这也是我真正开始全职使用javascript来编程。由于之前在学校对形式化方法这门课程比较感兴趣,而javascrip...
javascript之典型高阶函数应用介绍二

javascript之典型高阶函数应用介绍二

前言 在前一篇文章javascript之典型高阶函数中主要实现了几个典型的functional函数。文章最后也提出了疑问,为啥那样的实现与F#之类的函数式语言“不太一样”呢?今天来试试更“函数式”的实现。 另一种实现 同样地,尝试对之前实现的函数做一些改动,把for循环去掉。如何去掉呢?这里先要引入一个集合的归纳法定义: 一个集合要么是空集,要么是一个数与一个集合组成的数对从定义可以看到,每一个集合都可以看作为一个数和一个集合的对。例如:{1,2,4,5}...
javascript之Partial Application学习

javascript之Partial Application学习

这一次来学习一下Partial Application。我们先看一下函数的介绍,在维基上有简单的介绍: 在数学中,一个函数是描述每个输入值对应唯一输出值的这种对应关系,符号为 f(x)。例如,表达式 f(x)=x2表示了一个函数 f,其中每个输入值x都与唯一输出值x2相联系。因此,如果一个输入值为3,那么它所对应的输出值为9。而g(x,y) = xy有两个参量x和y,以乘积xy为值。上面描述了函数(为方便假设x,y都是int),并且给出了函数的两个例子,先...
js修改table中Td的值(定义td的双击事件)

js修改table中Td的值(定义td的双击事件)

客户需求至上。 这次是更改后的代码,去掉了“确定”,“取消”按钮。变单击为双击事件,用户按ESC键,取消更改。 复制代码 代码如下: //为每个Td添加双击事件 function ReWritable() { var tbmian=document.getElementById("tbmain"); //循环,为每行每列添加双击事件,但是,第一行(thead)与最后一行(tfoot)不添加。 for(var i=1;i<tbmain.rows.len...
js修改table中Td的值(定义td的单击事件)

js修改table中Td的值(定义td的单击事件)

项目做完,在测试验收时,用户突然提出,可以更改查询结果,便于打印。隐藏工程错误。但是这个时候提要求,比较头痛,后来,想了想还是用前台代码,这样,只要在项目的JS文件中,加入以下几个函数,便可以解决了。 复制代码 代码如下: /* 页面装载时,为每个td增加单击事件,这样,就可以不用对每个页面进行更改。 */ function ReWritable() { var tbmian=document.getElementById("tbmain"); for(v...
javascript 中String.match()与RegExp.exec()的区别说明

javascript 中String.match()与RegExp.exec()的区别说明

1. 这两个方法,如果匹配成功,返回一个数组,匹配失败,返回null。 2. 当RegExp的global属性为false时,这两个方法的返回数组是一样的。 数组的第0个元素是整个pattern的第一个匹配字符串,接下来的元素是pattern第一个匹配中的子匹配字符串。 此外,数组还有index和input两个额外属性,index是匹配字符串的起始位置,input是整个输入字符串。 此时,RegExp的lastIndex属性一直是0。 demo...
jquery实现点击TreeView文本父节点展开/折叠子节点

jquery实现点击TreeView文本父节点展开/折叠子节点

以前一个现在不用的帐号发布的随笔,现在人肉搬过来吧。 注册用户有一段时间了,一直很忙,到现在还没有写一篇,忽然觉的一定要花点时间记录和总结一些东西。好吧,就从这里开始了。今天客户提出要点击菜单(TreeView实现的)的父级节点时,展开节点。心想这个应该是很常见的功能吧,特意google了一下,发现大部分是将的不是js实现的,有些js实现的写的麻烦,干脆自己写一个吧,应该不难的。首先思路是,,让文本点击的时候执行左边‘+"号的事件,查看源码看到,‘+"号的...
javascript使用中为什么10..toString()正常而10.toString()出错呢

javascript使用中为什么10..toString()正常而10.toString()出错呢

这个问题是在著名的问答网站——stackoverflow上看到的。 之前也看到过JavaScript的这个问题,但是没有深入了解,今天在StackOverflow上看到了答案,感觉不错,记下来分享给大家。问题的描述是这样的: 复制代码 代码如下: console.log(10..toString());//10 console.log(10.toString());//SyntaxError: Unexpected token ILLEGAL 为什么前者...
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象

不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象

JavaScript中的对象模型(object model)并不广为人知。我曾写过一篇关于他们的博客。之所以不被人所熟知,原因之一就是JavaScript是这些被人广泛使用的语言中唯一一个通过原型(prototype)来实现继承的。但是,我认为另一个原因就是这种对象模型非常复杂,难于解释。它为什么这么复杂并且又令人困惑呢?那是因为JavaScript试图去隐藏它传统的面向对象的特性——最终导致了它的双重人格(译者注:作者意思是JavaScript既有面向过...
关于JavaScript的面向对象和继承有利新手学习

关于JavaScript的面向对象和继承有利新手学习

这是一篇关于JavaScript的面向对象和继承的文章,写于1年前,作者循序渐进,对想学习JavaScript中面向对象的同学来说是很有帮助的,因此试着翻译一下,不妥之处,请指正。原文链接Objects and Inheritance in Javascript 虽然一些Javascript用户可能永远也不需要知道原型或面向对象语言的性质,但是那些来自传统面向对象的语言的开发者使用的时候会发现JavaScript的继承模型非常的奇怪。而不同的JS框架提供了...
javascript当中的代码嗅探扩展原生对象和原型(prototype)

javascript当中的代码嗅探扩展原生对象和原型(prototype)

注:翻译之中有什么不恰当的地方,欢迎大家指正,祝大家双节快乐! 如果不是有特殊需要而去扩展原生对象和原型(prototype)的做法是不好的 复制代码 代码如下: //不要这样做 Array.prototype.map = function() { // 一些代码 }; 除非这样做是值得的,例如,向一些旧的浏览器中添加一些ECMAScript5中的方法。 在这种情况下,我们一般这样做: 复制代码 代码如下: if (!Array.prototype.ma...
解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题

解决ExtJS在chrome或火狐中正常显示在ie中不显示的浏览器兼容问题

用ExtJS开发将近一年了,也遇到了很多奇怪的问题,印象最深的要算是ExtJS在ie中显示的问题了。由于开发过程中大多用chrome来调试,很少在ie中调试(现在两者都要兼顾),导致最后在ie中页面不能正常加载,当时那个囧啊,看到ie报的错,我都想哭,连出错的堆栈信息都没有(这一点,ie做的真不好),无从下手啊。尝试过N多方法,最后发现导致出现这种问题的原因(90%以上的可能性)是js的数组中多了一个英文的逗号",",而这种在chrome和火狐中是没有问题...
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题

解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题

Extjs的Panel和Window等组件在默认情况下是带边框的,通常情况下,单独使用没有什么关系,但是将Panel作为Window组件的子组件时就会出现双重边框的现象,如果Window组件中含有两个或者两个以上的Panel,那么Panel和Panel组件之间的边框会重复累加,也就是说会变成双重边框。实际上双重边框并不是很影响外观,但多少看上去会有些不太令人满意,因此我们就得想办法将两重边框去掉,变成单边框。下面是前后两张对比图,大家仔细观察一下两个win...
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版

jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版

原项目地址:http://plugins.jquery.com/project/pagination版本:v1.2源文件下载:英文原版 或中文翻译修改版一、相关demo 基本demo页面 Ajax demo页面 参数可编辑demo页面 二、简介与说明 此jQuery插件为Ajax分页插件,一次性加载,故分页切换时无刷新与延迟,如果数据量较大不建议用此方法,因为加载会比较慢。 原插件CSS不太合理,使用浮动,故无法方便实现左右方向的定位,且未清除浮动,在中文...
<< 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 >>