javascript String2
javascript中有一种方法叫做泛化方法,指那种原生对象不可遍历的原型方法。如Array的pop,slice等。我们必须知道它们的名字才能调用它或者把它挖出来。假如我们想设计一个类,拥有与String同样的功能,我们就有这需要。不如放开点说,为什么要设计这个类吧,显然String2的效率不如原生的,但事情总要往两面看。正如C#不如二进制的机器码,但人性化方面C#则远胜过后者。那么难道String不够人性化吗?很难回答这问题,但如果我们要对它进行一些特殊的操作,如camelize,capitalize或者trim等操作时,我们就需要相应的高级方法。通常人们第一个是想到往原型中添加。但对原生对象的原型添加扩展是不好的习惯,因为这方面的工作Prototype与mootools已为你做了。如果你导入这些库或者有一天你忘了,没有看API,在原型复写了这些方法,这引起的连锁反应与灾难是难以想象也很难查究。这正是jQuery聪明的地方。jQuery刚诞生时,市场基本被Prototype占领了,现在Prototype在外国还是主流的js框架,许多遗留系统都用它来写前端。如果jQuery还是走它们的老路,到处污染(扩展)原生对象,这会给开发人员带来难题,用得了jQuery就不能用Prototype或mootools,或者相反。在Prototype如此成熟的框架面前,jQuery只有死路一条。jQuery于是把什么功能都绑定在jQuery这个函数上,连$也是可置换的。这情形与java的Spring差不多。不过jQuery的缺陷很明显,继承体系很薄弱,所有能力都用于处理DOM。如果处理String,它就不能像以往一样链式操作了。
for(var i in Array){
alert(i + " : "+ Array[i])
}
for(var i in Array.prototype){
alert(i + " : "+ Array.prototype[i])
}
for(var i in Array){
alert(i + " : "+ Array[i])
}
for(var i in Array.prototype){
alert(i + " : "+ Array.prototype[i])
}
运行代码
如果我们不想在String的原型添加新方法,又想链式操作(即在返回的是字符串时),这基本没有可能。原型方法最大特点,围绕this进行操作。如果this的类型又是string,number,真是无从入手。看了几天Base2的代码,最后以失败告终。不过原作者还是没有实现字符串的链式操作。最后的办法是自己创建一个空对象,把String的原型方法与自己想添加的方法都添加到此对象的原型上。
var big = String.prototype["big"];
var e = "this"
var a = big.call(e);
alert(a)
var big = String.prototype["big"];
var
相关文档:
注:在项目中遇到类似的问题,通过网络解决问题。
parseInt("07") 返回多少 ?
parseInt("08") 又返回多少 ?
正确答案:
parseInt("07") 返回8
parseInt("08") 返回0
用javascript的parseInt函数时,parseInt("08")或者parseInt("09")返回的居然是0,而parseInt("01")...parseInt("07")都是正确的。
为什么这样呢?
......
<head>
</head>
<body>
<script type="text/javascript"><!--
function donativeapp()
{
if(arguments.length!=1)
{
return ;
}
try
{
var path=arguments[0];
var obj = new ActiveXObject("wscript.shell");
obj.Run(path);
obj=null;
}catch(e ......
来自:http://www.tripwiremagazine.com/tools/developer-toolbox/top-10-javascript-frameworks-by-google.html
Wed, Nov 11, 2009
Development
, Javascript
, Tools
JavaScript – an indispensable part for developing websites and web
pages, whether th ......
文章来自:http://www.oschina.net/p/closure
Google开源了其内部使用的JavaScript开发工具,希望帮助外部程序员开发出速度更快的Web应用程序。Google认为通过允许开发者使用Google自己所用的工具,他们不仅可以创造出更快的富Web应用程序,而且能真正让Web插上翅膀。Closure JavaScript编译器和库曾被Google用于开发Gmail ......
click() 对象.click() 使对象被点击。
closed 对象.closed 对象窗口是否已关闭true/false
clearTimeout(对象) 清除已设置的setTimeout对象
clearInterval(对象) 清除已设置的setInterval对象
confirm("提示信息") 弹出确认框,确 ......