从多个地方加载同一个JavaScript库,避免加载问题造成内容出错

这个时代几乎没有几个网站不使用JavaScript了——即使的确有些网站提供了无脚本内容,绝大部分RIA还是需要有脚本支持才能使用的。
但是万一脚本在加载的过程中出问题了怎么办?
如果最基本的脚本库没能正常加载,那整个页面就没法看了。
对这种加载失败的问题,有一种比较容易使用的方法是判断加载的外部脚本是不是已经正常初始化,如果没有正常初始化则重新加载。
判断的方法一般是这样(以jQuery为例): (全文…)

常用10个JavaScript小技巧

尽管我使用Javascript来做开发有很多年了,但它常有一些让我很惊讶的小特性。对于我来说,Javascript是需要持续不断的学习的。在这篇文章中,我将列出10个Javascript使用小技巧,主要面向Javascript新手和中级开发者。希望每个读者都能至少从中学到一个有用的技巧。
1.变量转换
看起来很简单,但据我所看到的,使用构造函数,像Array()或者Number()来进行变量转换是常用的做法。始终使用原始数据类型(有时也称为字面量)来转换变量,这种没有任何额外的影响的做法反而效率更高。 (全文…)

javascript 实现replaceAll方法功能

JavaScript中只有replace方法,并不提供replaceAll方法,再此只能自己写replaceAll方法了。

String.prototype.replaceAll  = function(s1,s2){
return this.replace(new RegExp(s1,”gm”),s2);
}

或者使用

str.replace(new RegExp(s1,”gm”),s2);

(全文…)

正则表达式(判断匹配汉字 )

输入测试字符串: &nbsp;<input type=”text” onblur=”test(this.value);”>

<script language=”javascript”>
<!–
//测试匹配情况
function test(inputVal)
{
//去除首尾空格
inputValinputVal = inputVal.replace(/^\s*|\s*$/g,”");
//零长字串不作处理
if ( inputVal.length == 0 )
{
return;
}
//只能匹配数字,字母或汉字
var _match = inputVal.match(/^[a-zA-Z0-9\u4e00-\u9fa5]+$/g);
//匹配数字或字母(包括大小写)
var codeMatch = inputVal.match(/[a-zA-Z0-9]/g);
//匹配汉字
var charMatch = inputVal.match(/[\u4e00-\u9fa5]/g);
//数字或字母个数
var codeNum = codeMatch ? codeMatch.length : 0;
//汉字个数
var charNum = charMatch ? charMatch.length : 0;
//成功
if ( _match && codeNum + 2*charNum <= 12 )
{
alert(“输入正确!”);
return;
}
//失败
alert(“输入错误!”);
}
//–>
</script> (全文…)

YUI 全局对象之YUI Core

这个例子演示如何使用YUI Core

创建一个YUI实例

<html>
<body>
<div id="wrapper" style="width:100px;height:100px;background-color:Yellow;">
i am a div!
</div>

<script src="http://yui.yahooapis.com/3.0.0/build/yui/yui.js"></script>  
<script>
YUI().use('node', function(Y) {
//在此操作dom
 var wrapper= Y.one('#wrapper');
 Y.log('Found node.. Setting style');
 wrapper.setStyle('backgroundColor', '#D00050');
 wrapper.set('innerHTML', '<strong>Changed!</strong>');
});
</script>
</body>
</html>

(全文…)

Javascript 中的变量

使用过javascript的朋友都知道,在 javascript中,变量的使用是个比较头疼的问题,经常会产生 些比较匪夷所思的结果。究其原因,大多是对javascript的变量相关知识了解得不够透彻。

javascript中的所有变量都是类型松散的,不同于 其他面向对象语音的变量声明都是强类型的.因此Javascript 的变量声明是不包括类型的。通过var关键字或者直接写变量名来声明一个变量,如:
var v = 1;
v=1;

这时有人可能会问,上述的两种声明有什么区别,为什 么会有这两种不同的声明方式,这就涉及到javascript中变量的作用域了。在javascript中,变量的作用域包括全局和函数级别的。
(全文…)

javascript 正则表达式 应用方法 实例

很长时间没看 正则表达式了,碰巧今天用到,温故知新了 一把 看书学习吧

50% 的举一反三练习中的原创。
一 javascript正则表达式的基本知识

1 javascript 正则对象创建 和用法

声明javascript 正则表达式

var reCat = new RegExp(“cat”);
你也可以
var reCat = /cat/; //Perl 风格 (推荐)
(全文…)

javascript 字符串转化为整数 什么方法

Integer.parseInt(String)???? or???? parseInt(String?? )

var?? n=parseInt(“123″);
if(isNaN(n))
{
//不能转数字
}

Comet, 下一代反向AJAX(即服务器推送技术- Server-side push)

理解 Comet

您可能已经听说过 Comet,因为它最近受到了一定的关注。Comet 有时也称反向 Ajax 或服务器端推技术(server-side push)。其思想很简单:将数据直接从服务器推到浏览器,而不必等到浏览器请求数据。听起来简单,但是如果熟悉 Web 应用程序,尤其是 HTTP 协议,那么您就会知道,这绝不简单。实现 Comet 风格的 Web 应用程序,同时保证在浏览器和服务器上的可伸缩性,这只是在最近几年才成为可能。目前一些主流网站都有类似的原理,例如:webQQ、开心网、白社会等等,它们中消息动态都是采用类似的技术,也许具体实现方式不一样;
(全文…)

javascript 去除多余空格函数 trim

/**
* 去除多余空格函数
* trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格
* 用法:
*???? var str = “? hello “;
*???? str = str.trim();
*/
String.prototype.trim = function()
{
return this.replace(/(^[\\s]*)|([\\s]*$)/g, “”);
}
String.prototype.lTrim = function()
{
return this.replace(/(^[\\s]*)/g, “”);
}
String.prototype.rTrim = function()
{
return this.replace(/([\\s]*$)/g, “”);
}