随笔分类 - JavaScript
摘要:this.document.querySelectorAll('div[id*="dayselector"][class*="x-autocontainer-innerCt"] a') 表示选取div里id属性包含dayselector,且Class属性包含x-autocontainer-inner
阅读全文
摘要:// First, checks if it isn't implemented yet. if (!String.prototype.format) { String.prototype.format = function() { var args = arguments; return this
阅读全文
摘要:NodeJs 如何返回exit Codecode =1;process.emit("exit ")process.reallyExit(code);
阅读全文
摘要:Link:http://stackoverflow.com/questions/11571923/instanceof-string-not-behaving-as-expected-in-google-apps-script这里描述的是instanceof和typeof关键字的区别,值得引起注意
阅读全文
摘要:下面是一个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 { ... }
阅读全文
摘要: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) .
阅读全文
摘要: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)
阅读全文
摘要:转载: http://www.oschina.net/question/54100_15938使用javascript类库函数时,经常会遇到一个函数,可以使用不同个数的参数的情况比如:exp(var1) exp(var1, var2)但是在实际编写javascript函数时,函数不能同名,所以不可能是不同参数个数分开写;参数个数必须符合函数的设置,所以函数声明里有的就必须有,不可能调用时写少几个;……这个问题是困扰了很久了,一直不知道为什么?!今天一早在看别人代码,无意中竟然看到了~ 原来不是在函数声明中声明参数个数,而是在函数里直接接收使用那怎么接收呢? 就是 arguments 了argu
阅读全文
摘要:Rhino是JDK1.6里自带的一个Javascript Engine,不过他的书写风格好像有点不是很一样。importPackage(Packages.groovy.util);var o = new Expando()
阅读全文
摘要: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...
阅读全文
摘要:除了之前提到的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
阅读全文
摘要:Maven用来管理Java类库之间的依赖已经非常普遍了。最近有一直在做JavaScript的开发,就突然想提问自己是不是也可以考虑用Maven的机制来管理JavaScript的依赖。Google了一下,发现了一篇文件覆盖了我的想法。http://ajaxian.com/archives/using-maven-to-modularize-javascript-development 有兴趣的朋友可以试一试。有问题我们交流一下。P.S.:当然如果你的开发是基于NodeJs的,完全没有必要这样(在NodeJs里只要配置package.json)就可以了。
阅读全文
摘要:最近在产品中开发基于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 = &
阅读全文
摘要:在学习underscore.js时对这两个函数的使用上确实存在很多模糊的地方,看过以下的Blog后清楚了许多http://blog.bigbinary.com/2011/08/18/understanding-bind-and-bindall-in-backbone.html
阅读全文
摘要:针对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..
阅读全文
摘要:=================================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
阅读全文
摘要:今天学习如何使用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
阅读全文
摘要:只需要在你的HTML里加入如下的代码,就可以体验CoffeeScript了
阅读全文
摘要: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
阅读全文
摘要:http://devnet.jetbrains.net/thread/435906?tstart=1 上面是论坛的一帖,很好的解释了如何使用。把例子下下来看看就很清楚了。
阅读全文

浙公网安备 33010602011771号