1. JavaScript简介
1.1. JavaScript由来
JavaScript由Netscape 在1995年发明。早期的主要目的是处理一些用户的输入验证操作。而在JavaScript语言出现之前客户端的页面时需要提交到服务器端,由服务器去检测的。在刚刚普及的电话线调制解调器时代,对用户是一种考验,著名的Netscape Navigator(早期浏览器) 通过引入JavaScript来解决该问题
JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计、验证表单、检测浏览器、创建cookies,以及更多的应用。JavaScript 是因特网上最流行的脚本语言。
1.2. JavaScript特点
1. 安全性(不允许直接访问本地硬盘),它可以做的就是信息的动态交互。
2. 跨平台性。(只要是可以解释Js的浏览器都可以执行,和平台无关。)
1.3. JavaScript与Java不同
1. JS是Netscape公司的产品,Java是Sun公司的产品
2. JS是基于对象,Java是面向对象。
3. JS只需解释就可以执行,Java需要先编译成字节码文件,再执行。
4. JS是弱类型,Java是强类型。
1.4. JavaScript内容
目前我们学习JavaScript也就是需要学习:
JavaScript语法基础
使用JS操作网页(DOM)
使用JS操作浏览器(BOM)
1.5. 体验JavaScript
<html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>体验JavaScript语言</title> </head> <body> <h1>体验JavaScript语言</h1> <script type="text/javascript"> "hello,world"); </script> </body> </html> |
2.引入方式与引入位置
1. JS代码存放在标签对<script>...</script>中。
2. 使用script标签的src属性引入一个js文件。(方便后期维护,扩展)
例:<script src=”test.js”type=”text/javascript”></script>
注:规范中script标签中必须加入type属性。
注意:
1、 页面上可以有多个<script>标签
2、 <script>标签按顺序执行
3、 <script>标签可以出现在任意的页面位置
4、<script>标签一定要写</script>关闭,而不能<script/>这样关闭。否则没有任何错误信息,但是没有运行结果。
3.常用函数
window.alert()或写为 alert() :显示一个提示框显示内容。
window.document.write():在网页的当前位置处写内容。
变量是弱类型的
与 Java不同,ECMAScript 中的变量无特定的类型,定义变量时只用 var 运算符,可以将它初始化为任意值。
因此,可以随时改变变量所存数据的类型(尽量避免这样做)。
4.数据类型
javascript中有4种基本数据类型:
Undefined,Boolean,Number和String
类型的总结:
所有的数值都是number类型
字符和字符串都是string类型
布尔是boolean类型
如果一个变量没有初始化值的时候,其类型为undefined类型。表示没有定义。
5.JavaScript函数基础
函数主要用来封装具体的功能代码。
函数是由这样的方式进行声明的:关键字 function、函数名、一组参数,以及置于括号中的待执行代码。
注意:函数的形参是不用声明使用的。
函数的基本语法是这样的:
functionfunctionName(arg0, arg1, ... argN) {
statements
}
特点:
1、使用function关键字定义函数。
2、没有任何的返回值类型。
3、函数的定义优先执行,与顺序无关。
4、可以通过函数名赋值函数,函数变量的类型是function对象。
5、参数列表不能有var关键字。
6、函数的参数列表在具体调用的时候实参个数可以和形参个数不同。
7、JavaScript函数天然的支持可变参数。
8、同名的函数最后声明会覆盖前面以声明。Javascript中没有函数重载。
<html>
<head>
<title>学习JavaScript</title>
</head>
<body>
月份:
<input type="text" id="month">
<input type="button" value="显示天数" οnclick="foo()">
<!--
31天:1,3,5,7,8,10,12
30天:4,6,9,11
28天:2
-->
<script type="text/javascript">
function foo(){
var monthValue = document.getElementById("month").value;
// 如果是非数字,则不再继续执行
if( isNaN(monthValue) ){
alert("请输入正确的月份!");
return;
}
// 转为数字
monthValue = parseInt(monthValue);
// 判断范围
if( monthValue < 1 || monthValue > 12){
alert("请输入正确的月份(1--12)!");
return;
}
// 根据月份显示天数
switch(monthValue){ // 这时不会自动转换类型,所以先转型
case 2:
alert("28天");
break;
case 4:
case 6:
case 9:
case 11:
alert("30天");
break;
default:
alert("31天");
break;
}
}
</script>
</body>
</html>
参考代码:https://github.com/bxwhite/javaweb/blob/master/HTML_JS1.html