java:javaScript(定义方式,循环语句,函数与参数,事件机制,控制台记录,event事件获取键盘ascii,confirm和prompt,事件和内置对象,获取input,点击更换背景色)

时间:2023-03-09 17:34:26
java:javaScript(定义方式,循环语句,函数与参数,事件机制,控制台记录,event事件获取键盘ascii,confirm和prompt,事件和内置对象,获取input,点击更换背景色)

1. 定义JS的两种方式:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<!-- 定义js -->
<!-- js的两种定义方式可以混用,加载顺序为自然顺序 -->
<!-- 不要把两种定义方式合并起来写 -->
<!--第一种-->
<script type="text/javascript">
function testButton() {
alert("hello js!");
}
</script>
<!-- 第二种 -->
<script type="text/javascript" src="first_js.js"></script>
<!-- 第二种 错误-->
<!--<script type="text/javascript" src="first_js.js"> function test() { } </script>-->
</head> <body> <input type="button" value="测试js" onclick="testButton();" />
<input type="button" value="测试js" onclick="test();" /> </body> </html>

2.if,循环语句:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
<!-- js和Java都是一种语言 -->
<!-- Java是强类型的语言,JavaScript是弱类型的语言:所谓的强弱,就是看定义变量时存不存在多种类型 -->
<!-- 在js中无论声明什么样的数据,都只需要一个类型 var -->
var global = "我是全局变量";
function test() {
var string = "zhangsan";
var integer = 15;
var doubleIt = 12.11;
<!-- 特殊定义全局变量的方式 -->
blobal2 = "我是global2";<!-- 在函数中声明一个变量,如果不声明变量类型var,就默认是全局变量 -->
alert(string+"-------"+integer+"------"+doubleIt+"-------"+global+"-------"+blobal2);
} <!-- -->
/*
等同于===就等同于==,只是两个等号会自动把类型转换为一致(如果var string = "12",var int1 = 12,在js中使用==号就会自动把string="12"--->string=12)
*/
function test2() {
var int1 = "12";
var int2 = 12;
if(int1 == int2) {
alert(111);
} else {
alert(222);
}
} /*
运算符
*/
function test3() {
var int1 = 1;
var int2 = 1;
if(int1 == int2) {
alert("相同");
} else if(int1 === int2) {
alert("类型相同");
} else {
alert("都不相同");
} var today = 1;
switch(today) {
case 1 : alert("今天星期一");
break;
case 2 : "今天星期二";
break;
default : "不懂了吧,这是中国农历";
}
} // 循环语句
function test4() {
/**for(var i = 0; i < 3; i++) {
alert(i);
}*/ /**var j = 0;
while(j < 5) {
alert(j);
j++;
}*/ // 打印三角形
for(var i = 0;i < 5; i++) {// 打印三角形的行数
for(var j = 0; j < 5-i; j++) {
document.write("*");// 输出页面
}
document.write("<br />");
} } </script>
</head> <body>
<input type="button" value="测试1" ondblclick="test();" />
<input type="button" value="测试2" ondblclick="test2();" />
<input type="button" value="测试3" onclick="test3();" />
<input type="button" value="测试4" onclick="test4();" />
</body> </html>

3.函数和参数:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
/* 在Java中有method(方法),但是在js中不叫方法,叫函数(function) */ /*
Java定义方法:访问修饰符,返回值类型(void) 方法名(声明类型的参数1,声明类型的参数2){
方法体
} js定义函数:function 函数名(不带类型的参数1, 不带类型的参数2) {
函数体
} js就算不声明返回类型,依然可以返回(return)
就算不声明void,也可以不返回
js的形式参数一定不能有类型
*/ function test1(description, hireDate) {
alert(description+"----------"+hireDate);
var a = "我是a";
return a;
} // 在哪里调用函数,参数就会从哪里被传递过来
function test2(age, name) {
alert(age+"---------"+name);
var description = "我是描述";
var hireDate = "我是日期";
var b = test1(description, hireDate);
alert(b);
} // 匿名函数
var test5 = function() {
alert("我是匿名函数");
}
// 如果在匿名函数中使用一个变量去接收,这个变量包含了函数所有东西
// 如果以一个函数的形式去接收,只会执行函数体中的内容
function test6() {
var test7 = test5;
alert(test7);
} </script>
</head> <body> <input type="button" onclick="test2();" value="测试" /> <input type="button" onclick="test6();" value="测试" />
</body> </html>

4.事件机制

<!DOCTYPE>
<html>
<head>
<title></title>
<meta charset=UTF-8/>
<script type="text/javascript">
function test(){
alert("测试onclick");
}
</script>
<script type="text/javascript">
function test1(){
alert("测试ondblclick---双击");
}
</script>
<script type="text/javascript">
function test2(){
alert("测试onmousedown---按下鼠标是触发");
}
</script>
<script type="text/javascript">
function test3(){
alert("测试onmouseup---按下鼠标松开后触发");
}
</script>
<script>
function test4(){
alert("测试onmouseover--当鼠标移动到某对象范围上触发");
}
</script>
<script type="text/javascript">
function test5(){
alert("测试onmousemove---当鼠标移动时候触发");
}
</script>
<script type="text/javascript">
function test6(){
alert("测试onmouseout---当鼠标离开某范围对象是触发");
}
</script>
<script type="text/javascript">
function test7(){
alert("测试onkeyperss--当键盘上某个键被按下并且释放是触发"(一直按下?));
}
</script>
<script type="text/javascript">
function test8(){
alert("测试onkeydown---当键盘上某个键被按下时触发(一直按下)");
}
</script>
<script type="text/javascript">
function test9(){
alert("测试onkeyup---当键盘上某个按键被按放开时触发此事件");
}
</script>
</head>
<body>
<input type="button" value="测试onclick" onclick="test();"/>
<input type="button" value="测试ondblclick" ondblclick="test1();"/>
<input type="button" value="测试onmousedown" onmousedown="test2();"/>
<input type="button" value="测试onmouseup" onmouseup="test3();"/>
<input type="button" value="测试onmouseover" onmouseover="test4();"/>
<input type="button" value="测试onmousemove" onmousemove="test5();"/>
<input type="button" value="测试onmouseout" onmouseout="test6();"/></br>
<input type="button" value="测试onkeypress" onkeypress="test7();"/>
<input type="text" value="测试7" onkeypress="test7();"/></br>
<input type="button" value="测试onkeydown" onkeydown="test8();"/>
<input type="text" value="测试8" onkeydown="test8();"/></br>
<input type="button" value="测试onkeyup" onkeyup="test9();"/>
<input type="text" value="测试9" onkeyup="test9();"/></br> </body> <ml>

5.字符串的简单运算:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript"> // eval:把字符串格式的数据进行简单的运算
// eval只有一个参数
// eval原理:就是把数字格式的字符串转换为数字类型,然后再进行计算
function test1() {
var string1 = "12";
var string2 = "13";
var eval1 = eval(string1);
var eval2 = eval(string2);
alert(eval1+"-----"+eval2);
alert(eval1+eval2);
alert(eval(string1)+eval(string2));
} // parse************
// parseInt() == Integer.parseInt();
// parseDouble() == Double.parseDouble();
function test2() {
var string1 = "13";
var string2 = "14";
alert(parseInt(string1));
} // isNaN:判断一个非法的数字 12 / 0,返回的是true或者false
function test3() {
alert(12/0);
alert(isNaN(12/0));
} // isFinite():判断是否为一个数字,返回的是true或者false
function test4() {
alert(isFinite("15"));
} // escape():进行编码
// unescape():进行解码
// 一般情况下,只针对于中文
function test5() {
// 进行编码:好处一:防止信息被泄露,好处二:防止中文乱码
alert(escape("我是李四"));//GBK
alert(unescape("%u6211%u662F%u674E%u56DB")); } </script>
</head> <body>
<input type="button" value="测试eval" onclick="test1();" />
<input type="button" value="测试parse" onclick="test2();" />
<input type="button" value="测试isNaN" onclick="test3();" />
<input type="button" value="测试isFinite" onclick="test4();" />
<input type="button" value="测试escape" onclick="test5();" />
</body> </html>

6.控制台记录:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
// onfocus:聚焦
// onblur:失去焦点
// 在js调试中,首先要想到alert,然后必须会使用console.log();-->输出控制台
function test1() {
console.log("我是被输出了");
} // 键盘事件
function test2() {
console.log("我也被触发了");
} </script>
</head> <body> 鼠标事件:<input type="text" onblur="test1();" />
键盘事件:<input type="text" onkeyup="test2();" /> </body> </html

7.event事件获取键盘ascii:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
// event对象:事件的对象,监控的是一个事件的状态
function test1(ev){// 参数是形式参数,名字可以自己定义
var evt = window.ev||event;// 就是为了兼容IE浏览器,IE浏览器是默认只能取出event
var code = evt.keyCode||charCode;// 获取到了键盘上对应的ascii
alert(code);
}
</script>
</head> <body onkeypress="test1(event);"> </body> </html>

8.键盘记录:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
var str = "";
function test1(ev) {
var ascii = ev.keyCode;// charCode:默认只支持到IE8
str = str + String.fromCharCode(ascii);
document.getElementById("div1").innerHTML = str;
}
</script>
</head> <body onkeydown="test1(event)">
<input type="password" />
<div id="div1"></div>
</body> </html>

9.获取目标的类型,值,事件机制等:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
// event对象:事件的对象,监控的是一个事件的状态
function test1(ev){// 参数是形式参数,名字可以自己定义 var evt = window.ev||event;// 兼容IE,获取event对象
// 鼠标事件
var src = evt.srcElement||evt.target;// 为了兼容IE,IE浏览器默认兼容target
// src就代表了button的对象,也就是获取到了button的所有内容
//var test = function(){alert(111);}
// src是获取不到当前标签
alert(src.type);
}
</script>
</head> <body>
<input type="button" value="测试鼠标" onclick="test1(event)" />
</body> </html>

10.confirm 和 prompt:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
function test1() {
// alert():警告
alert("弹窗测试");// 会非常不友好,在10年前用户体验还可以,经过发展,出现了各种插件对alert进行重写修改,样式很漂亮,但是还是很不友好,现在弹窗功能几乎废弃 // alert(js中)<--->alter(oracle中用的)
// 现在alter用的最多的地方就是进行调试,后来Google和firefix开始支持控制台调试,console.log();,再后来Firefox变了,不专一了,console.log()就被他废弃了
} function test2() {
var name = prompt("请输入您的姓名!");//弹出个输入框,让输东西
console.log(name);
} function test3() {
// 最常用
var isSuccess = confirm("此信息一旦删除就无法恢复,您确定删除吗?");// 返回一个boolean类型,也就是true/false ,弹出个确认框
alert(isSuccess);// 返回值中点击确定返回true,点击取消返回false
if(confirm("此信息一旦删除就无法恢复,您确定删除吗?")) {
alert("此消息已经删除");
} else {
alert("没事别瞎点!");
}
} </script>
</head> <body>
<input type="button" value="测试alert" onclick="test1();" />
<input type="button" value="测试prompt" onclick="test2();" />
<input type="button" value="测试confirm" onclick="test3();" />
</body> </html

11.时间和内置对象:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript"> // 时间
function test1() {
var date = new Date();// 当前服务器(自己电脑)的时间
// date.getYear()距1900年到至今的年数
// date.getMonth()获取到当前的月份(从0月开始)
// date.getDay()获取到星期几从0开始(0代表星期天)
// 不只是有get函数,还有set函数,和Java一样
date.setYear(1999);
alert(date.getYear()+"-----"+date.getMonth()+"----------"+date.getDay());
alert(date.toLocaleString());// 获取到本地时间(年月日 时分秒),以字符串的形式输出,和Java中的toString()方法一样 }
// 内置对象:拿来直接使用,不需要new的对象,就称之为内置对象 System,Math,String...
// String对象
function test2() {
var str = "hello js";// 定义一个字符串
// charAt:获取指定下标的字符
//alert(str.charAt(1));
// substring:截取字符串
//alert(str.substring(1, 3));// 如果传入的数字为负数,会全部截取;如果有两个参数,第二个参数为负数,会倒着截取;如果第一个参数为负数,默认从字符串的起始位置开始截取;如果两个参数都为负数,就不会截取
// substr:截取字符串
//alert(str.substr(1,3));
// substr和substring的区别:substr为闭区间,但是substring为半开区间 // indexOf:获取指定字符的下标
//alert(str.indexOf("e"));
// length:获取字符串的长度
alert(str.length);
// toLowerCase:转换为小写
// toUppercase:转换为大写
} </script>
</head> <body>
<input type="button" value="测试date" onclick="test1();" />
<input type="button" value="测试String" onclick="test2();" />
</body> </html>
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
// Math
// random:随机数
function test1() {
alert(Math.random());
} // round:四舍五入
function test2() {
alert(Math.round(Math.random()*100));
} // ceil:向上取整
function test3() {
alert(Math.ceil(29.01));
} // floor:向下取整
function test4() {
alert(Math.floor(29.99));
} </script>
</head> <body>
<input type="button" value="测试random" onclick="test1();" />
<input type="button" value="测试round" onclick="test2();" />
<input type="button" value="测试ceil" onclick="test3();" />
<input type="button" value="测试floor" onclick="test4();" />
</body> </html>

12.从input框中获取输入的值:(同理还可以获取其他标签的value)

 e<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript"> // 如何从input框中获取输入的值
// 第一种:通过form获取
function test1() {
var ins = document.forms[0].username.value;// 这里value就是输入input框的值,0代表第一个form的下标
alert(ins);
} // 第二种:通过DOM对象获取
function test2() {
var ins2 = document.getElementById("pwd1").value;// 以后这一种是总是被用到
alert(ins2);
} </script>
</head> <body>
<form action="">
用户名:<input type="text" name="username" />
<input type="submit" value="提交" />
<input type="button" value="测试点击" onclick="test1();" />
</form> <form action="">
需要打印的行数:<input type="text" name="pwd" id="pwd1" />
<input type="submit" value="提交" />
<input type="button" value="测试点击" onclick="test2();" />
</form>
</body> </html>

13.更换一定范围背景颜色:

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8"></meta>
<title></title>
<script type="text/javascript">
function chageBackgroundColor() {
var div = document.getElementById("div1");// 获取到的是一个object对象
div.style.backgroundColor = "blue";
}
</script>
</head> <body>
<div id="div1" style="background:red; width:200px;height:200px;" onclick="chageBackgroundColor();"></div>
</body> </html>