毕向东_JavaScript视频教程学习日志
JavaScript语法:
JavaScript里面不能直接写html语言,但可以写css标签。
1、 变量:
通过关键字var来定义域,弱类型既不用指定具体的数据类型。
例:var x = 3; x = “hello”;
注:JS中特殊的常量值:undefined,当变量没有初始化就被使用,该变量的值就是undefined(未定义)。
2、 语句(与Java语句格式相同)
判断结构(if语句)
注:var x = 3;
If(x== 4) //可以进行比较运算。
If(x= 4) //可以进行复制运算,而且可以同样进行判断,不报错
因为在JS中0就是false,null也是false,非0就是true(通常用1表示)。
所以if(x = 4)结果是true;
选择结构(switch语句)
循环结构(while语句,do…while语句,for语句)。
注:不同的是,没有了具体数据类型的限制,使用时要注意。
3、 函数:
一般函数
格式:
function 函数名(形参…….)
{
执行语句;
return返回值;
}
函数式多条执行语句的封装体,只有被调用才会被运行。
注意:调用有参数的函数,但没有给其传值,函数一样可以运行,或者调用没有参数的函数,给其传值,该函数也一样运行吗。说的简单点:只要写了函数后面给了一对小括号,该函数就会运行。那么传递的参数呢?
其实,在函数中有一个参数数组对象(arguments),该对象将传递的参数都封装在一个数组中。
例:
function demo() //定义函数。
{
alert(arguments.length);
}
demo(“hello”,123,true); //调用函数。
那么弹出的对话框结果是3,,如果想要的到所有的参数值,可以通过for循环便利该数组。
for(var x = 0; x <arguments.length; x++)
{
alert(arguments[x]);
}
为了增强阅读星,最好按照规范,按定义好的形式参数传递实际参数。
函数在调用时的其他写法:
var show = demo(); //show变量接受demo函数的返回值。
var show = demo;; //这种写法是可以的,以为show和demo代表同一个函数。
//那么该函数也可以通过show()的方式运行。
动态函数:
通过Js的内置对象function实现
例:var demo =new function(“x,y”; ”alert(x+y)”);
demo(4,6);
不同的是,动态函数,参数以及函数体都可以通过蚕食进行传递,可以动态指定。
匿名函数:
格式:function(){…..}
例:var demo =function(){…….}
demo;
通常在定义事件属性的行为时较为常用。
例:
functiontest()
{
alert(“loadok”);
}
window.onload = test;
可以写成匿名函数的形式:
window.onload = function()
{
alert(“load ok”);
}
匿名函数就是一种简写格式
学习测试用的代码
<html>
<head>
<meta http-equiv="content-type" content="text/html"; charset="utf-8"/>
<title>JS99乘法表</title>
<style type="text/css">
table{
width:600px;
border-collapse:collapse;
}
table th{
border:#00F 1px solid;
}
</style>
</head>
<body>
<script type="text/javascript">
//用表格样式显示一个99乘法表。
document.write("<table>");
for(var x = 1; x <= 9; x++)
{
document.write("<tr>");
for(var y = 1; y <= x; y++)
{
document.write("<th>" + y + "*" + x + "=" + y*x + "</th>");
}
document.write("</tr>");
}
document.write("</table>");
/*函数*****************************************************************/
/*function show()
{
//说明:arguments是函数内置数组,用于封装参数信息
for(var x = 0; x < arguments.length; x++)
{
alert(arguments[x]);
}
return 4;
}
alert("函数运行结果:");
show(4,2);
var y = show(); //是调用函数功能
var x = show; //是把对象show函数传给x并显示出来
alert("y = show()时y的值:"+y);
alert("x=show时x的值:"+x);
*/
/*动态函*****************************************************************/
/*var show = new Function("x","y","var sum = x+y; return sum");
var sum = show(5,7);
alert("动态函数结果:"+sum);
*/
/*匿名函数function*************************************************/
/*注意: 这个函数在网页上无法被调用,要用一个var值才能调用
function()
{
alert("fun run");
}
*/
//匿名函数作为事件的处理方式
/*window.onload = function() //当窗体所有事件加载完毕后产生onload事件
{
alert("onload over");
}
*/
/*
//以下方法也可以实现上面这个方式
function method()
{
alert("func run-------");
}
*/
/*window.onload = method;
var show = function()
{
alert("func run");
}
show();
*/
//构造函数及其初始化
function Person(name,age)
{
this.name = name;
this.age = age;
}
var p = new Person("lisi",90);
//"p[]"和"p."的区别为p[]可以往里面传字符串等数据,而"p."不行
alert(p["name"]+"...."+p.age);
/*
function Person()
{
alert("Person init");
}
var p = new Person();
p.name = "zhangsan";
p.page = 30;
p.chifan = function()
{
alert("chifan");
}
p.chifan();
*/
</script>
</body>
</html>