博客园 - BetaRabbit
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=70921
2013-09-04T03:19:19Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
feed.cnblogs.com
https://www.cnblogs.com/betarabbit/p/3141482.html
IE下点击scrollbar会导致焦点移动到body - BetaRabbit
现象IE这货果然与众不同,当光标焦点在input时,点击同页面内其他区域的scrollbar,会导致焦点移动到body,从而触发绑定在input上的blur事件,如果input中的值与之前不同,甚至还会触发change事件...Chrome曾经也有类似的问题,但在最新版中已经修正了,而Firefox则完全没有这样的问题。影响这个问题看起来微不足道,实际上影响还是非常大的,主要表现在下面2个方面多数的suggest控件会出错suggest往往是通过input(输入部分)和div(下拉框部分)组成。有时,下拉框内容过多,用户需要移动滚动条才能看全选项,但因为点击滚动条会...
2013-06-17T16:14:00Z
2013-06-17T16:14:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】现象IE这货果然与众不同,当光标焦点在input时,点击同页面内其他区域的scrollbar,会导致焦点移动到body,从而触发绑定在input上的blur事件,如果input中的值与之前不同,甚至还会触发change事件...Chrome曾经也有类似的问题,但在最新版中已经修正了,而Firefox则完全没有这样的问题。影响这个问题看起来微不足道,实际上影响还是非常大的,主要表现在下面2个方面多数的suggest控件会出错suggest往往是通过input(输入部分)和div(下拉框部分)组成。有时,下拉框内容过多,用户需要移动滚动条才能看全选项,但因为点击滚动条会... <a href="https://www.cnblogs.com/betarabbit/p/3141482.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2013/05/31/3109525.html
【理解Underscore和Lo-Dash】Collections _.each - BetaRabbit
_.each遍历集合,对集合中的每个元素执行回调。APILo-Dash_.forEach(collection [, callback=identity, thisArg])AliaseseachArgumentscollection (Array|Object|String): 要遍历的集合[callback=identity] (Function): 每次迭代中调用的函数[thisArg] (任意): 绑定到callback的thiscallback接受三个参数: (value, index|key, collection)Returns(Array, Obje...
2013-05-30T16:43:00Z
2013-05-30T16:43:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】_.each遍历集合,对集合中的每个元素执行回调。APILo-Dash_.forEach(collection [, callback=identity, thisArg])AliaseseachArgumentscollection (Array|Object|String): 要遍历的集合[callback=identity] (Function): 每次迭代中调用的函数[thisArg] (任意): 绑定到callback的thiscallback接受三个参数: (value, index|key, collection)Returns(Array, Obje... <a href="https://www.cnblogs.com/betarabbit/archive/2013/05/31/3109525.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2013/04/29/3051444.html
Javascript中位操作符的特殊作用 - BetaRabbit
Javascript主要有以下几种位操作符: AND ( & ) OR ( | ) XOR ( ^ ) NOT ( ~ ) LEFT SHIFT ( << ) RIGHT SHIFT ( >> ) ZERO-FILL RIGHT SHIFT ( >>> )一般来说,我们在Javascript中很少能用到这些位操作符,但在某些特殊情况下,这些简单的操作符却能抵得上好几行代码(如果不在乎可读性的话)。 -(n+1) 对一个数进行~运算,等同于-(n+1)~1 === -2 // => trueNote: 这只能应用于整数部分,~1.1 ===
2013-04-29T15:47:00Z
2013-04-29T15:47:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】Javascript主要有以下几种位操作符: AND ( & ) OR ( | ) XOR ( ^ ) NOT ( ~ ) LEFT SHIFT ( << ) RIGHT SHIFT ( >> ) ZERO-FILL RIGHT SHIFT ( >>> )一般来说,我们在Javascript中很少能用到这些位操作符,但在某些特殊情况下,这些简单的操作符却能抵得上好几行代码(如果不在乎可读性的话)。 -(n+1) 对一个数进行~运算,等同于-(n+1)~1 === -2 // => trueNote: 这只能应用于整数部分,~1.1 === <a href="https://www.cnblogs.com/betarabbit/archive/2013/04/29/3051444.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2013/04/20/3033246.html
如何将一个String和多个String值进行比较 - BetaRabbit
开发中我们经常需要将一个String和多个String值进行比较。直觉反应是使用||符号连接多个===完成,比如: if (string === 'banana' || string === 'pineapple') { fruitColor = 'yellow';}这样能够很好的完成需求,但总觉得有点笨,并且对扩展不友好,当我们的水果种类变多时:if (string === 'banana' || string === 'pineapple' || string === 'mongo' || st
2013-04-20T14:34:00Z
2013-04-20T14:34:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】开发中我们经常需要将一个String和多个String值进行比较。直觉反应是使用||符号连接多个===完成,比如: if (string === 'banana' || string === 'pineapple') { fruitColor = 'yellow';}这样能够很好的完成需求,但总觉得有点笨,并且对扩展不友好,当我们的水果种类变多时:if (string === 'banana' || string === 'pineapple' || string === 'mongo' || st <a href="https://www.cnblogs.com/betarabbit/archive/2013/04/20/3033246.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2013/03/19/2967190.html
Javascript Throttle & Debounce - BetaRabbit
Throttle 无视一定时间内所有的调用,适合在发生频度比较高的,处理比较重的时候使用。 var throttle = function (func, threshold, alt) { var last = Date.now(); threshold = threshold || 100; return function () { var now = Dat...
2013-03-18T16:23:00Z
2013-03-18T16:23:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】Throttle 无视一定时间内所有的调用,适合在发生频度比较高的,处理比较重的时候使用。 var throttle = function (func, threshold, alt) { var last = Date.now(); threshold = threshold || 100; return function () { var now = Dat... <a href="https://www.cnblogs.com/betarabbit/archive/2013/03/19/2967190.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2013/02/26/2934171.html
innerText和textContent - BetaRabbit
今天在使用innerText时遇到一个兼容性问题,FireFox不支持innerText方法,查了下MDN,发现FireFox下有个类似的方法,叫textContent,它和IE的innerText类似, 都是用来获取(设置)元素中text的方法。 语法 设置 element.textContent = “text”; 获取 var text = element.textContent; Note: textContent和innerText类似,也会同时获取子元素的text content,比如 ...
2013-02-26T12:11:00Z
2013-02-26T12:11:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】今天在使用innerText时遇到一个兼容性问题,FireFox不支持innerText方法,查了下MDN,发现FireFox下有个类似的方法,叫textContent,它和IE的innerText类似, 都是用来获取(设置)元素中text的方法。 语法 设置 element.textContent = “text”; 获取 var text = element.textContent; Note: textContent和innerText类似,也会同时获取子元素的text content,比如 ... <a href="https://www.cnblogs.com/betarabbit/archive/2013/02/26/2934171.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2012/12/16/2820071.html
Windows环境下Rails安装Bootstrap失败解决方法 - BetaRabbit
Windows环境下,Rails安装Bootstrap总会失败,提示therubyracer无法安装。这是因为Bootstrap使用的less文件依赖therubyracer实时执行js将less转换成css,而therubyracer这个gem并没有对应的Windows版本。 Hiran Peiris在github上提供了提供了解决方案,他编译了所有的dll和gem。这下,我们终于可以在Windows下用Bootstrap啦。
2012-12-15T16:12:00Z
2012-12-15T16:12:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】Windows环境下,Rails安装Bootstrap总会失败,提示therubyracer无法安装。这是因为Bootstrap使用的less文件依赖therubyracer实时执行js将less转换成css,而therubyracer这个gem并没有对应的Windows版本。 Hiran Peiris在github上提供了提供了解决方案,他编译了所有的dll和gem。这下,我们终于可以在Windows下用Bootstrap啦。 <a href="https://www.cnblogs.com/betarabbit/archive/2012/12/16/2820071.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2012/11/19/2777530.html
RequireJS学习-1 - BetaRabbit
RequireJS是一个JavaScript文件和模块加载器。除了可以在浏览器中使用外,还可以用Node或Rhino等Server端环境。 最新版可以在这里下载。 基本用法 假设你的工程目录结构如下: project index.html js lib jquery.js app sub_app.js ...
2012-11-19T08:38:00Z
2012-11-19T08:38:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】RequireJS是一个JavaScript文件和模块加载器。除了可以在浏览器中使用外,还可以用Node或Rhino等Server端环境。 最新版可以在这里下载。 基本用法 假设你的工程目录结构如下: project index.html js lib jquery.js app sub_app.js ... <a href="https://www.cnblogs.com/betarabbit/archive/2012/11/19/2777530.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2012/11/08/2761716.html
Ruby的private和protected - BetaRabbit
今天,下面这段程序让我纠结了很久,Ruby中private的概念真的很奇怪。。。 class Test private def test_print puts 'test' endendclass Test2 < Test def test_print2 # self.test_print #=> 这里加上self就不能调用,private method `test_print' called for # (NoMethodError) test_print #=> 不加self就能调用 endendTest2.new.test_print2 为什么不
2012-11-08T15:41:00Z
2012-11-08T15:41:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】今天,下面这段程序让我纠结了很久,Ruby中private的概念真的很奇怪。。。 class Test private def test_print puts 'test' endendclass Test2 < Test def test_print2 # self.test_print #=> 这里加上self就不能调用,private method `test_print' called for # (NoMethodError) test_print #=> 不加self就能调用 endendTest2.new.test_print2 为什么不 <a href="https://www.cnblogs.com/betarabbit/archive/2012/11/08/2761716.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2012/11/04/2753190.html
String Primitive和String Object - BetaRabbit
网上看到下面这段代码,很有意思。String.prototype.cut = function (len) { return this.length > len ? this.substring(0, len) + '...' : this;};var obj = ["Superman", "Batman", "Iron Man"];console.log(typeof obj[1].cut(6));console.log(obj[1].cut(6));这段代码很简单,判断字符串的长度,如果大于给定长度(L)输出
2012-11-03T16:26:00Z
2012-11-03T16:26:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】网上看到下面这段代码,很有意思。String.prototype.cut = function (len) { return this.length > len ? this.substring(0, len) + '...' : this;};var obj = ["Superman", "Batman", "Iron Man"];console.log(typeof obj[1].cut(6));console.log(obj[1].cut(6));这段代码很简单,判断字符串的长度,如果大于给定长度(L)输出 <a href="https://www.cnblogs.com/betarabbit/archive/2012/11/04/2753190.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2012/08/02/2619259.html
Javascript中对空string调用split返回不是空数组 - BetaRabbit
今天在工作中发现一个诡异的问题,理论上应该是没有元素的数组,长度居然是1。查了半天,原来是Javascript中的split和其他语言中不同,即对空string使用split会返回含有一个空string的数组,而不是一个空数组。 var str = "", arr = str.split("_"); console.log(arr.length === 1); //trueconsole.log(arr === []); //falseconsole.log(arr === [""]); //true参考MDN,也有类似的说明。Not
2012-08-01T18:57:00Z
2012-08-01T18:57:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】今天在工作中发现一个诡异的问题,理论上应该是没有元素的数组,长度居然是1。查了半天,原来是Javascript中的split和其他语言中不同,即对空string使用split会返回含有一个空string的数组,而不是一个空数组。 var str = "", arr = str.split("_"); console.log(arr.length === 1); //trueconsole.log(arr === []); //falseconsole.log(arr === [""]); //true参考MDN,也有类似的说明。Not <a href="https://www.cnblogs.com/betarabbit/archive/2012/08/02/2619259.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/betarabbit/archive/2012/01/28/2330446.html
[翻译]JavaScript Scoping and Hoisting - BetaRabbit
原文链接:http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting 你知道下面的JavaScript代码执行后会alert出什么值吗? 1: var foo = 1; 2: function bar() { 3: if (!foo) { 4: var foo = 10; 5: } 6: alert(foo); 7: } 8: bar();如果答案是"10"令你感到惊讶的话,那么下面这个会让你更加困惑: 1: var a =...
2012-01-27T20:29:00Z
2012-01-27T20:29:00Z
BetaRabbit
https://www.cnblogs.com/betarabbit/
【摘要】原文链接:http://www.adequatelygood.com/2010/2/JavaScript-Scoping-and-Hoisting 你知道下面的JavaScript代码执行后会alert出什么值吗? 1: var foo = 1; 2: function bar() { 3: if (!foo) { 4: var foo = 10; 5: } 6: alert(foo); 7: } 8: bar();如果答案是"10"令你感到惊讶的话,那么下面这个会让你更加困惑: 1: var a =... <a href="https://www.cnblogs.com/betarabbit/archive/2012/01/28/2330446.html" target="_blank">阅读全文</a>