随笔分类 -  JavaScript

摘要:this.document.querySelectorAll('div[id*="dayselector"][class*="x-autocontainer-innerCt"] a') 表示选取div里id属性包含dayselector,且Class属性包含x-autocontainer-inner 阅读全文
posted @ 2016-07-11 17:26 卜海清 阅读(235) 评论(0) 推荐(0)
摘要:// First, checks if it isn't implemented yet. if (!String.prototype.format) { String.prototype.format = function() { var args = arguments; return this 阅读全文
posted @ 2016-03-11 11:06 卜海清 阅读(222) 评论(0) 推荐(0)
摘要:NodeJs 如何返回exit Codecode =1;process.emit("exit ")process.reallyExit(code); 阅读全文
posted @ 2015-04-03 14:01 卜海清 阅读(851) 评论(0) 推荐(0)
摘要:Link:http://stackoverflow.com/questions/11571923/instanceof-string-not-behaving-as-expected-in-google-apps-script这里描述的是instanceof和typeof关键字的区别,值得引起注意 阅读全文
posted @ 2013-12-23 17:56 卜海清 阅读(213) 评论(0) 推荐(0)
摘要:下面是一个Common的Solution'use strict'; // Universal Module Definition (UMD) to support AMD, CommonJS/Node.js, // Rhino, and plain browser loading. if (typeof define === 'function' && define.amd) { ... } else if (typeof exports !== 'undefined') { ... } else { ... } 阅读全文
posted @ 2013-12-23 17:26 卜海清 阅读(887) 评论(0) 推荐(0)
摘要:JavaScript相对于其他的编程语言是比较简单的,只要吃透了Prototype和Closure(闭包),基本上就可以说精通JavaScript了。JavaScript里如何实现向Java语言的OO的一下概念。下面列举了继承的三种写法:// 这种写法只能复制base里的静态方法, 连base.prototype也不会复制function extend(base, dest) { for (var i in base) { dest[i] = base[i]; }}// 这种写法只能复制Prototype,静态函数和变量是不会被复制的function extend1(base, dest) . 阅读全文
posted @ 2013-10-13 09:28 卜海清 阅读(378) 评论(0) 推荐(0)
摘要:function User (name, password) { var self = this instanceof User ? this : new User(); if (name != null) { self.name = name; self.password = password; } return self;};var obj1 = User("andy","");var obj2 = new User("andy","");console.log(obj1.name === obj2.name) 阅读全文
posted @ 2013-10-05 19:26 卜海清 阅读(234) 评论(0) 推荐(0)
摘要:转载: http://www.oschina.net/question/54100_15938使用javascript类库函数时,经常会遇到一个函数,可以使用不同个数的参数的情况比如:exp(var1) exp(var1, var2)但是在实际编写javascript函数时,函数不能同名,所以不可能是不同参数个数分开写;参数个数必须符合函数的设置,所以函数声明里有的就必须有,不可能调用时写少几个;……这个问题是困扰了很久了,一直不知道为什么?!今天一早在看别人代码,无意中竟然看到了~ 原来不是在函数声明中声明参数个数,而是在函数里直接接收使用那怎么接收呢? 就是 arguments 了argu 阅读全文
posted @ 2013-10-04 20:04 卜海清 阅读(845) 评论(0) 推荐(0)
摘要:Rhino是JDK1.6里自带的一个Javascript Engine,不过他的书写风格好像有点不是很一样。importPackage(Packages.groovy.util);var o = new Expando() 阅读全文
posted @ 2013-09-25 14:17 卜海清 阅读(297) 评论(0) 推荐(0)
摘要:1.JavaScript does not have block scope 2.Scope is determined during function definintion, not invocation -- Closoure 3.Replacing the prototype property with new Object removes the default constructor property 4. the default return value of new constructor is this.var Person = function(){ this.nam... 阅读全文
posted @ 2013-07-23 14:08 卜海清 阅读(239) 评论(0) 推荐(0)
摘要:除了之前提到的commander 库,还有一个optimist库可以实现命令行解析。argv = require('optimist') .usage('Usage: $0 -x [num] -y [num]') .demand('x').options('x', alias: 'X' describe:"argument x") .demand('y').options('y', alias: 'Y' describe: 'argumen 阅读全文
posted @ 2013-05-16 13:38 卜海清 阅读(2721) 评论(0) 推荐(0)
摘要:Maven用来管理Java类库之间的依赖已经非常普遍了。最近有一直在做JavaScript的开发,就突然想提问自己是不是也可以考虑用Maven的机制来管理JavaScript的依赖。Google了一下,发现了一篇文件覆盖了我的想法。http://ajaxian.com/archives/using-maven-to-modularize-javascript-development 有兴趣的朋友可以试一试。有问题我们交流一下。P.S.:当然如果你的开发是基于NodeJs的,完全没有必要这样(在NodeJs里只要配置package.json)就可以了。 阅读全文
posted @ 2013-04-21 20:40 卜海清 阅读(4538) 评论(0) 推荐(0)
摘要:最近在产品中开发基于REST的API接口,结合自己最近对Node.js的研究,想基于它开发一个RESTClient做测试之用。通过初步研究,Node.js开发HTTPClient还是挺方便的。选用Node的理由:1. 使用完全基于JavaScript的Node测试JSON格式的数据,非常之方便2. Node有很好的社区支持。(现在GitHub上已成了JavaScript最大的开源社区)By Example:var http = require('http');var equal = require('assert').equal;var username = & 阅读全文
posted @ 2013-03-30 19:04 卜海清 阅读(20939) 评论(0) 推荐(0)
摘要:在学习underscore.js时对这两个函数的使用上确实存在很多模糊的地方,看过以下的Blog后清楚了许多http://blog.bigbinary.com/2011/08/18/understanding-bind-and-bindall-in-backbone.html 阅读全文
posted @ 2013-01-25 11:48 卜海清 阅读(1889) 评论(0) 推荐(1)
摘要:针对JavaScript里的arguments对象有如下问题1.是Array类型的吗?它有哪些属性?// Best practices: it is best not to use argumentsfunction test(){ console.log( arguments instanceof Array);//return false arguments is not a instance of Array console.log([1,2] instanceof Array);// return true console.log( arguments.length); // ok.. 阅读全文
posted @ 2013-01-15 11:06 卜海清 阅读(450) 评论(0) 推荐(0)
摘要:=================================Basic:1. declare a task / multi-task2. declare a helper function3. invoke a task/ multi-task4. define / retrieve configuration for a task=================================Advanced:1. Organize your tasks within given life-cycle (bring the design philosophy from Maven)2 阅读全文
posted @ 2013-01-13 17:32 卜海清 阅读(215) 评论(0) 推荐(0)
摘要:今天学习如何使用Grunt.js来写脚本。Grunt里可以使用RegisterTask来扩展Taskgrunt.registerTask('sayhello','sayhello',function(){ grunt.task.run('task1'); }); grunt.registerTask('task1','task 1',function(){ sys.puts("hello world ......"); });上面的sayhello Task会调用task1,从而在Console 阅读全文
posted @ 2013-01-07 16:29 卜海清 阅读(262) 评论(0) 推荐(0)
摘要:只需要在你的HTML里加入如下的代码,就可以体验CoffeeScript了 阅读全文
posted @ 2012-12-26 13:36 卜海清 阅读(174) 评论(0) 推荐(0)
摘要:https://github.com/pivotal/jasmine-gem可参考上面的链接在Ruby中使用Jasmine,因为就是独立开发一个JavaScript的项目,所以我会使用 `jasmine init`来初始化一个项目。但当运行 `rake jasmine`的时候发现会错误产生, Google 了一下,找到一文章,试验过后发现可用。要修改对应的rakefile,多引入require 'yaml'sample case:begin require 'jasmine' require 'yaml' //自动生成的代码里是没这一行的 loa 阅读全文
posted @ 2012-12-15 10:11 卜海清 阅读(340) 评论(0) 推荐(0)
摘要:http://devnet.jetbrains.net/thread/435906?tstart=1 上面是论坛的一帖,很好的解释了如何使用。把例子下下来看看就很清楚了。 阅读全文
posted @ 2012-12-12 15:29 卜海清 阅读(222) 评论(0) 推荐(0)