易截截图软件、单文件、免安装、纯绿色、仅160KB

Javascript Best Practices

1. 总是使用 ‘var’
在JavaScript
中,变量不是全局范围的就是函数范围的,使用”var”关键词将是保持变量简洁明了的关键。当声明一个或者是全局或者是函数级(function-level)的变量,需总是前置”var”关键词,下面的例子将强调不这样做潜在的问题。
不使用 Var 造成的问题
var i=0; // This is good - creates a global variable
function test() {
for (i=0; i<10; i++) {
alert("Hello World!");
}
}
test();
alert(i); // The global variable i is now 10!
因为变量函数中变量 i 并没有使用 var 使其成为函数级的变量,在这个例子中它引用了全局变量。总是使用 var 来声明全局变量是一个很多的做法,但至关重要的一点是使用 var 定义一个函数范围的变量。下面这两个方法在功能上是相同的:
正确的函数
function test() {
var i=0;
for (i=0; i<10; i++) {
alert("Hello World!");
}
}
正确的函数
function test() {
for (var
i=0; i<10; i++) {
alert("Hello World!");
}
}
2. 特性检测而非浏览器检测
一些代码是写来发现浏览器版本并基于用户正使用的客户端的对其执行不同行为。这个,总的来说,是一个非常糟的实践。更好的方法是使用特性检测,在使
用一个老浏览器可能不支持的高级的特性之前,首先检测(浏览器的)是否有这个功能或特性,然后使用它。这单独检测浏览器版本来得更好,即使你知道它的性
能。你可以在 http://www.jibbering.com/faq/faq_notes/not_browser_detect.html
找到一个深入讨论这个问题的文章。
例子:
if (document.getElementById) {
var element = document.getElementById('MyId');
}
else {
alert('Your browser lacks the capabilities required to run this script!');
}
3. 使用方括号记法
当访问由执行时决定或者包括要不能用”.”号访问的对象属性,使用方括号记法。如果你不是一个经验丰富的Javascript
程序员,总是使用方括号是一个不错的做法
对象的属性由两种固定的方法来访问:”.”记法和”[ ]“方括号记法:
“.”号记法
MyObject.property
“[ ]“方括号记法
MyObject["property"]
使用”.”号,属性名是硬代码,不能在执行时改变。使用”[


相关文档:

在C++中用WebBrowser控件调用JavaScript函数

主要函数 CallJScript
BOOL CallJScript(const wchar_t * func, VARIANT * vtParams, int cNumberOfParam, VARIANT * vtResult)
{
if(!func || !func[0])
return FALSE;
CComPtr<IDispatch> spScript;
spScript = GetJScript();
if(!spScript)
return FALSE;
DISPID dispID = NULL;
CC ......

javascript实现日历功能

黄色部分为date.js
<script type="text/javascript" src="/js/date.js"></script>
<input name="date" type="text" id="date" onBlur="checkDay(this)" style="width:160px;" /><INPUT class="button" style="WIDTH: 64px; HEIGHT: 24px" onClick="setday(this,date)"type="button" value="选择日期 ......

JavaScript获取session里对象的值


代码入下:
<script language="JavaScript">
function getMyName(){
   var myName="<%=session.getAttribute("MYNAME")%>";
   alert(myName);
}
</script>
JavaScript存session的值:
 从理论上来说JavaScript在页面,而存session在服务器端..很难完成,但是你可 ......

javascript 的lastIndexOf

近日收集上万行代码,整理一些出来。
//V8引擎的实现
function ToInteger( n ) {
n = Number( n );
var sign = ( n < 0 ) ? -1 : 1;
if ( n != n ) {
return 0;
}
if ( Math.abs( n ) == 0 || Math.abs( n ) == Number.POSITIVE_INFINITY ) {
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号