你可能不知道的10个JavaScript小技巧

发表于:2010-8-16 10:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:梦想天空( 博客园)    来源:51Testing软件测试网采编

分享:

  5.使用window.name进行简单会话处理

  这个是我真的喜欢的东西。您可以为指定一个字符串作为window.name属性的值,直到您关闭该标签或窗口。虽然我没有提供任何脚本,但我强烈建议您如充分利用这个方法。举例来说,在建设一个网站或应用程序的时候,在调试和测试模式之间切换是非常有用的。

  6.判断属性是否存在

  这个问题包含两个方面,既有检查属性时候存在,还要获取属性的类型。但我们总是忽略了这些小事情:

// BAD: This will cause an error in code when foo is undefined 
if (foo) { 
  doSomething(); 

// GOOD: This doesn't cause any errors. However, even when 
// foo is set to NULL or false, the condition validates as true 
if (typeof foo != "undefined") { 
  doSomething(); 

// BETTER: This doesn't cause any errors and in addition 
// values NULL or false won't validate as true 
if (window.foo) { 
  doSomething(); 
}

  但是,有的情况下,我们有更深的结构和需要更合适的检查的时候,可以这样:

// UGLY: we have to proof existence of every 
// object before we can be sure property actually exists 
if (window.oFoo && oFoo.oBar && oFoo.oBar.baz) { 
  doSomething(); 
}

  7.给函数传递参数

  当函数既有必选又有可选参数的时候,我们可能是这样做的:

function doSomething(arg0, arg1, arg2, arg3, arg4) {
...
}
doSomething('', 'foo', 5, [], false);

  而传递一个对象总是比传递一堆的参数更方便:

function doSomething() { 
  // Leaves the function if nothing is passed 
  if (!arguments[0]) { 
  return false; 
  } 
  var oArgs   = arguments[0] 
  arg0    = oArgs.arg0 || "", 
  arg1    = oArgs.arg1 || "", 
  arg2    = oArgs.arg2 || 0, 
  arg3    = oArgs.arg3 || [], 
  arg4    = oArgs.arg4 || false; 

doSomething({ 
  arg1    : "foo", 
  arg2    : 5, 
  arg4    : false
});

  这只是一个把对象作为参数传递的一个很简单的例子,例如,我们还可以声明一个对象,变量名作为Key,默认值作为Value。

32/3<123>
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号