js 获取 数组 对象 及字符串 长度

想必大家都知道获取字符串的长度,使用length属性,同样数组也适用。varstr='hello';console.log(str.length);//输出6vararr=[1,2,3,4];console.log(arr.length);//输出4那么如果是对象呢,让我们看看输出是什么?vararr={a:1,b:2,c:3};console.log(arr.length);//输出undefi......

JavaScript 设计模式 之 策略模式

策略模式定义:定义一系列的算法,把它们一个个的封装起来,并且使用它们可以相互替换。案例1:计算员工的年终奖,绩效S的认年终奖为4倍工资,绩效A的认年终奖为3倍工资,绩效B的认年终奖为3倍工资。代码如下:varstrategies={"S":function(salary){returnsalary*4;},"A":function(salary){returnsalary*3;},"B":func......

JavaScript 设计模式 之 单例模式

在JavaScript里,实现单例的方式有很多种,其中最简单的一个方式是使用对象字面量的方法,其字面量里可以包含大量的属性和方法:varmySingleton={property1:"something",property2:"somethingelse",method1:function(){console.log('helloworld');}};如果以后要扩展该对象,你可以添加自己的私有成员......

JavaScript 高级函数其他应用 函数节流(3)

JavaScript中函数大多情况下是由用户主动触发的,除非是函数本身的实现不合理,否则我们一般不会遇到性能问题。但是在极少数情况下,函数的触发不是由用户直接控制的。在这种场景下,函数有可能被频繁的调用,而造成大的性能问题。下面举一些这样的应用场景:1)window.onresize事件。我们给window对象绑定了resize事件,当浏览器窗口大小被拖动而改变的时候,这个事件触发的频率非常之高。......

forever守护nodejs进程

nodeapp.js#方法一npmstart#方法二Express框架这样可以正常启动应用,但是如果断开客户端连接,应用也就随之停止了。也就是说这样的启动方式没有给应用一个守护线程。Forever可以解决这个问题!Forever可以守护Node.js应用,客户端断开的情况下,应用也能正常工作。安装过Node.js后再安装forever,需要加-g参数,因为forever要求安装到全局环境下:npm......

centos 7 安装 mongodb 数据库

1通过Xshell连接至CentOS7服务器;2进入到/usr/local/scr目录:cd/usr/local/scr5下载与CentOS系统匹配的mongodb-linux-x86_64-rhel70-3.2.4.tgz文件:wgethttps://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.4.tgz6解压缩mongodb......

JavaScript 高级函数其他应用 uncurrying (2)

uncurrying(反柯里化)的话题来自JavaScript之父BrendanEich在2011年发表的一篇Twitter.那么反柯里化函数,从字面讲,意义和用法跟函数柯里化相比正好相反,扩大适用范围,创建一个应用范围更广的函数。使本来只有特定对象才适用的方法,扩展到更多的对象。以下代码是实现uncurrying方式之一:Function.prototype.uncurrying=functio......

JavaScript 高级函数其他应用 currying(1)

今天我们来学习下高级函数的其他应用:functioncurrying(函数柯里化)currying的概念最早是由俄国数学家MosesSchonfinkel发明,而后有著名的数学逻辑学家HaskellCurry将其丰富和发展,currying由此得名。currying又称部分求值。一个currying的函数首先会接受一些参数,接受参数后,改函数并不会立即求值,而是继续返回另外一个函数,刚才传进去的参......

JavaScript 高级函数实现AOP

AOP(面向切面编程)的主要作用是把一些跟核心业务逻辑模块无关的功能抽离出来,这些跟业务逻辑无关的功能模块通常包括日志统计,安全控制,异常处理等。把这些功能抽离出来后,在通过“动态植入”的方式掺入业务逻辑模块中。这样做的好处首先是可以保持业务逻辑模块的纯净和高内聚性,其次是方便地复用日志统计等功能模块。通常在JavaScript中实现AOP,都是把指把一个函数“动态植入”到另一个函数中,具体实现的......

JavaScript 高级函数

高级函数是指满足下列条件之一的函数。函数可以作为参数传递函数可以作为返回值输出函数作为参数传递把函数作为参数传递,这代表我们可以抽离出一部分容易变化的业务逻辑。这样一来就可以分离业务代码中变化与不变的部分。其中一个重要的应用场景就是常见的回调函数。回调函数:在ajax异步请求应用中,回调函数的使用非常频繁。例如vargetUserInfo=function(userId,callback){var......