<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div id="target">
</div>
<!--最主要绑定事件监听的方法
1、通过HTML标签的onXXX属性来设置
onXXX属性值是一条或多条JS语句,语句后要加";"
2、通过DOM对象的onXXX属性设置
onXXX属性值只能是一个函数的引用
-->
<button id="btn">添加内容</button>
<script type="text/javascript" src="test.js"></script>
</body>
</html>
var test=function(){
var ele=document.createElement("span");
ele.innerHTML="添加的内容";
document.getElementById("target").appendChild(ele);
return function(){
alert("我的内容");
}
};
//加了括号,表示执行了语句,会将语句的执行结果交给onclick,
//即在没有点击的时候就会将"添加的内容"显示在页面上;每次点击的时候会弹出"我的内容"
//document.getElementById("btn").οnclick=test();
alert(test);
document.getElementById("btn").οnclick=test;
下面是关于函数参数的例子
参数的声明:
<html>
<head></head>
<body>
<script>
/*如果不用var:
1、如果变量存在,直接用已有的变量,
2、如果变量不存在,才声明一个新变量
如果用var,表明声明一个新变量
*/
alert("下面开始var测试");
mystr="java";
varTest=function(){
document.writeln(mystr+"<br/>");//java
mystr="javascript";
document.writeln(mystr+"<br/>");//javascript
}
varTest1=function(){
document.writeln(mystr+"<br/>");//undefined
var mystr="javascript";
document.writeln(mystr+"<br/>");//javascript
}
varTest();
varTest1();
</script>
</body>
</html>
参数的传递
<html>
<head></head>
<body>
<script>
/*
后面覆盖了前面的
*/
var test=function(a){
alert(a);
}
var test=function(a,b){
alert(a+"->"+b);
}
test(3); //3->undefined JS函数不重载 JS允许实参数量与形参数量不一致
/*
==:普通相等 把两个比较的表达式转为相同的类型,比较时不管数据类型
===:精确相等
*/
alert("20"==20);//true
alert("20"===20);//false
//undefined 没声明,不存在 null,声明但为空
alert(undefined==null);//true
alert(undefined===null);//false
/*
!=:普通不相等 把两个比较的表达式转为相同的类型,比较时不管数据类型
!==:精确不相等(数据类型不同或值不同,就返回true)
*/
</script>
</body>
</html>