Math 练习了
floor【向下取整】 ceil【向上取整】 sqrt【求数的平方根】 round【对一个数进行四舍五入】
floor【向下取整】 ceil【向上取整】 sqrt【求数的平方根】 round【对一个数进行四舍五入】
还练习了Date【时间】
做一个时钟
function riqi()
{
var x= new Date(),h,m,s,time='';
h=x.getHours();
m=x.getMinutes();
s=x.getSeconds();
time+=h>12? ((h-12)+':'):(h +':');
time+=m<10? ('0'+m+':'):(m+':');
time+=s<10? ('0'+s):(s);
time+=h>12? 'PM':'AM';
// var time=h+':'+m+':'+s;
document.biaodan.riqi.value=time;
var t=setTimeout("riqi()",1000);
document.getElementById("me").innerHTML=time;
}
自己生活了多少天
// function shenghuo()
// {
// var s=new Date("1999,5,21");
// var one_day=1000*60*60*24;
// var now=new Date();
// var res="我生活了"+Math.ceil((now-s)/one_day)+"天";
// document.getElementById("me").innerHTML=res;
// }
函数
w(this.z);//w(window.z) w函数是被window所调用的所以this指向window。
这个函数被哪个对象调用this就指向那个对象的属性和方法。
Js中没有块级作用域
一般函数有
变量提升
函数提升
作用域链
1.有常规定义的方法
function a(){}
2.构造函数的方法
var ab=new function('x','return 2*x;');
【x是形参 return 2*x是返回值,new function是构造器】
做一个时钟

function riqi()
{
var x= new Date(),h,m,s,time='';
h=x.getHours();
m=x.getMinutes();
s=x.getSeconds();
time+=h>12? ((h-12)+':'):(h +':');
time+=m<10? ('0'+m+':'):(m+':');
time+=s<10? ('0'+s):(s);
time+=h>12? 'PM':'AM';
// var time=h+':'+m+':'+s;
document.biaodan.riqi.value=time;
var t=setTimeout("riqi()",1000);
document.getElementById("me").innerHTML=time;
}
自己生活了多少天
// function shenghuo()

// {
// var s=new Date("1999,5,21");
// var one_day=1000*60*60*24;
// var now=new Date();
// var res="我生活了"+Math.ceil((now-s)/one_day)+"天";
// document.getElementById("me").innerHTML=res;
// }
函数
w(this.z);//w(window.z) w函数是被window所调用的所以this指向window。
这个函数被哪个对象调用this就指向那个对象的属性和方法。
Js中没有块级作用域
一般函数有
变量提升
函数提升
作用域链
1.有常规定义的方法
function a(){}
2.构造函数的方法
var ab=new function('x','return 2*x;');
【x是形参 return 2*x是返回值,new function是构造器】
var fnName=function(){.....};
函数表达式的调用【函数不提升执行到时才创建作用域,变量仍然会提升】
fnName()
3.匿名函数的N种写法
代码如下:
函数表达式的调用【函数不提升执行到时才创建作用域,变量仍然会提升】
fnName()
3.匿名函数的N种写法
代码如下:
(function() {
alert('water');
})();
alert('water');
})();
当然也可以带参数: 
代码如下:

代码如下:
(function(o) {
alert(o);
})('water');
想用匿名函数的链式调用?很简单:
代码如下:
alert(o);
})('water');
想用匿名函数的链式调用?很简单:
代码如下:
(function(o) {
alert(o);
return arguments.callee;
})('water')('down');
常见的匿名函数都知道了,看看不常见的:
代码如下:
alert(o);
return arguments.callee;
})('water')('down');
常见的匿名函数都知道了,看看不常见的:
代码如下:
~(function(){
alert('water');
})();//写法有点酷~
alert('water');
})();//写法有点酷~

代码如下:
void function(){
alert('water');
}();//据说效率最高~
alert('water');
}();//据说效率最高~
代码如下:
+function(){
alert('water');
}();
alert('water');
}();
代码如下:
-function(){
alert('water');
}();
alert('water');
}();
代码如下:
~function(){
alert('water');
}();
alert('water');
}();
代码如下:
!function(){
alert('water');
}();
alert('water');
}();

代码如下:
(function(){
alert('water');
}());//有点强制执行的味道~
alert('water');
}());//有点强制执行的味道~