javascript学习笔记(未完待续)
1、因为javascript是弱类型的语言,所以不用定义类型。
2、定义函数的方法:
第一种:
function add(x,y){return x+y;}
第二种:定义匿名函数(主流的方法)
function(x,y){return x+y;}
例:
<html>
<head></head>
<body>
<script type="text/javascript">
var myfun=function(x,y){return x+y;}
//只要一个变量引用的是对象,他就是Object的实例
alert(myfun instanceof Object);
//只要一个变量引用的是函数对象,他就是Function的实例
alert(myfun instanceof Function);
alert(myfun(3,4));
</script>
</body>
</html>
第三种:
可以调用Function的构造器来创建函数
new Function(p1,p2,....,pN);
前面的pN-1个形参将会作为新创建函数的形参列表,而pN就是函数体。
例如:
var fun=new Function("x","y","z","x=y+z;return x+y+c");
alert(fun(2,3,4));
3、
在java里,类是一等公民,类是可以独立存在的程序单元。
在javascript中,函数式一等公民,函数式可以独立存在的程序单元。
4、
函数的功能:
第一:为普通的函数(把函数当函数用)。
例如:
<html>
<head>
<script type="text/javascript">
var test=function()
{
var ele=document.createElement("span");
ele.innerHTML="添加的内容";
document.getElementById("target").appendChild(ele);
}
</script>
</head>
<body>
<div id="target">
</div>
<button onclick="test();">添加内容</button>
<input type="button" value="添加内容" onclick="test();"/>
</body>
</html>
注意:<button onclick="test();">中的test()后最好跟一个分号,
因为这是条语句。
***********************************************************
最主要的绑定事件监听的方法:
(1):通过HTML标签的onxxx属性来设置。此时onxxx属性的值可以
是一条或n条js语句。
例如:
<html>
<head>
</head>
<body>
<div id="target">
</div>
<button onclick="var target=document.getElementById('target');target.innerHTML='test'";>添加内容</button>
</body>
</html>
(2):通过DOM对象的onxxx属性来设置。
此时onxxx属性的值只能是一个函数的引用。
在第一种方法中:因为事件(onclick)在网页上,所以在出现问题的
时候,程序员和美工人员会扯皮。解决方法是把javascript代码分离出来,
把页面上所有的元素设置id。
注意:在上图中的"document.getElementById("mybut").onclick=test"中是
“test”而不是test(),因为通过DOM对象的onxxx属性的值只能是一个函数的引用。
如果是test()则onclick接收的是test()函数的返回值。可以是如下图的代码:
上图中,页面一打开就会弹出警告,说明test()执行了函数体。
但是上边的情况都是javascript代码在</body>以前,但是如果把它放到<head>里如下:
<html>
<head>
<script type="text/javascript" src="test.js">
</script>
</head>
<body>
<div id="target">
</div>
<button id='mybut'">添加内容</button>
</body>
</html>
则会弹出以下的错误:找不到mybut,因为javascript是顺序执行的。
解决方法如下:
下面alert以下test函数的内容:
**********************************************