开发过程中总有些自己经验,自己的错误。

1.根据字符串获取毫秒

var a = "2007-8-14".split("-");
var date = new Date(a[0], Math.round(a[1]) - 1, a[2]).getTime();
alert(date);

2.根据毫秒 获取时间字符串

var date = new Date (parseInt("1193823804000"));
alert(date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+":"+date.getSeconds());

3.输入框如果不是数字就使用一个默认值
var value = $('_id').value;
var nomal = 10;
而将要提交的值设置为 :parseInt(value)||nomal 就行了。
这里用了以前数字电路中的一个短路原理。

posted on 2007-12-24 02:28 -274°C 阅读(647) 评论(3)  编辑  收藏 所属分类: web前端


FeedBack:
# re: JavaScript 中一些技巧
2008-03-10 22:31 | java-he
4.并非什么都和自己想象的一样
var x = 0.9509;
var y = 1 - x;
document.write(y)//0.04910000000000003;  回复  更多评论
  
# re: JavaScript 中一些技巧
2008-03-14 09:05 | java-he
5.对时间先后的判断
_log_time_end = (new Date(_arrTemp[0], Math.round(_arrTemp[1]) - 1, _arrTemp[2]).getTime()/1000+24*60*60).toString();
if(parseInt(_log_time_start)>= parseInt(_log_time_end))
{
alert('结束时间必须大于起始时间');
return;
}
当初取到秒数就直接判断,可以用数字去构造new Date 但是,必定生成的是Date对象,所以还是parseInt。【有过没加的错误经验】  回复  更多评论
  
# re: JavaScript 中一些技巧
2009-07-21 11:05 | hechangmin
1. 全局变量覆盖

var a=100;
var b=true;
function test()
{
alert(a); // undeined
alert(b); // true
var a = 9;
}

上面这段脚本,输出结果是undeined 和 true 。

当函数域中,有变量声明或者定义。 如果这个变量和全局变量同名,则会覆盖全局变量。

把声明和赋值分开看,然后把声明放在前面去。这是等效的:

var a
alert(a); // undeined
alert(b); // true
a = 9;

2. 想修改iframe其内的页面

同一个域名下可以,不同域名下还是不可以的。

空口说话不是我的风格,还是看下范例代码:

html:

<script type="text/javascript" src="lib/jquery/jquery-1.3.2.min.js"></script>
</head>
<body>
<iframe id="test1" name="test1" width=100 height=60 src="about.html"></iframe>
<iframe id="test2" name="test2" width=100 height=60 src="http://www.126.com"></iframe>
<input type="button" value="test1" onclick="alert(test1.document.body.innerHTML)">
<input type="button" value="test2" onclick="alert(test2.document.body.innerHTML)">
</body>


3. 可以利用ajax 来读取文件

简单范例(不要追究其丑陋):

var xmlHTTP;
try
{
xmlHTTP = new ActiveXObject( "Microsoft.XMLHTTP") || false;
if( false === xmlHTTP)
{
xmlHTTP = new ActiveXObject('Msxml2.XMLHTTP') || false;
}
}catch(e)
{
xmlHTTP = new XMLHttpRequest();
}
xmlHTTP.open( "POST", "a.html",false);
xmlHTTP.send();
var strResult = xmlHTTP.responseText;

4. 闭包在书本上有些晦涩

用自己的话总结下吧。

特点:返回匿名函数
特性:由于返回匿名函数,所以父函数无法由垃圾回收机制回收。
技巧:可以在声明时初始化参数,使得运行环境保留着声明时的情况。

举例:

var a = function(_i)
{
return function()
{
alert(_i);
}

};

a(10)();

// 也可以 如下
var a = function(_i)
{
return function()
{
alert(_i);
}

}(i);

在声明的时候就动态指定了运行中的参数。


var b = function()
{
return function(_i)
{
alert(_i);
}

};

b()(10);

5. 跨域的问题 利用dom 动态改变script 的src 就能实现这个效果。 jquery中的动态加载js也是这个原理。   回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 

常用链接

留言簿(21)

随笔分类(265)

随笔档案(242)

相册

JAVA网站

关注的Blog

搜索

  •  

积分与排名

  • 积分 - 909069
  • 排名 - 40

最新评论