摘要: var Person = (function(){ var Constr; Constr = function(){ this.name = 'carl'; } Constr.prototype = { constructor : Constr, ... 阅读全文
posted @ 2014-08-05 15:59 ZeKun 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 目前模块模式得到了广泛应用,因为它提供了结构化的思想并且有助于组织日益增长的代码。模块模式提供了一种创建自包含非耦合代码片段有利工具,可以将它视为黑盒功能。板栗:var array = (function(){ //私有变量 var array_string = '[object Array]'... 阅读全文
posted @ 2014-08-05 15:38 ZeKun 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 揭示模式可用于将私有方法暴露为公共方法。当为了对象的运转而将所有功能放置在一个对象中以及想尽可能地保护该对象,这种揭示模式就非常有用。板栗:var myarray;(function(){ var astr = "[object Array]", toString = Object.protot... 阅读全文
posted @ 2014-08-05 15:02 ZeKun 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 命名空间:命名空间有助于减少程序中所需要的全局变量的数量,并且同时还有助于避免命名冲突或过长的名字前缀。板栗:var MYAPP = MYAPP || {}; MYAPP.namespace = function(ns_string){ var parts = ns_string.split('... 阅读全文
posted @ 2014-08-05 14:27 ZeKun 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 如果有时候我们忘记对构造函数使用new的话,构造函数的this将指向windowfunction Person(){ this.name = 'Julie';}var good_moring = Person();console.log(good_moring); //输出undefinedcon... 阅读全文
posted @ 2014-08-05 14:10 ZeKun 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 惰性函数:所谓惰性函数就是创建了一个新函数并且将其分配给保存了另外函数的同一个变量,就以一个新函数覆盖了旧函数。某种程度上,回收了旧函数指针以指向一个新函数。 板栗:var scareMe = function(){ console.log('Boo'); scareMe = functi... 阅读全文
posted @ 2014-08-05 13:56 ZeKun 阅读(199) 评论(0) 推荐(0) 编辑
摘要: function curry(fn){ var slice = Array.prototype.slice; var arr = slice.call(arguments,1); return function(){ var newArr = slice.call(arguments);... 阅读全文
posted @ 2014-08-05 13:41 ZeKun 阅读(143) 评论(0) 推荐(0) 编辑
摘要: var str = '123456789';function division(str){ var arr = str.split(''), len = arr.length, i = 3; while(i < len){ arr.splice(l... 阅读全文
posted @ 2014-08-05 11:45 ZeKun 阅读(126) 评论(0) 推荐(0) 编辑