网页编程day-41:JavaScript的引入
一、JS的声明和引用
1.为什么学习JavaScript?
1)html+css 只是可以实现静态的页面无法实现动态的效果;
2)表单的校验;
3)背景图片的更换;
4)操作节点的信息;
2.JavaScript的定义:
JavaScript 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
(1)js的组成:

1)ECMAScript:JavaScript的核心;
2)文档对象模型(DOM):DOM(文档对象模型)是 HTML 和XML 的应用程序接口(API)。DOM 将把整个页面规划成由节点层级构成的文档;
3)浏览器对象模型(BOM):对浏览器窗口进行访问和操作。
3.优缺点:
(1)优点:
1)脚本语言:脚本语言是指在web浏览器内有解释器解释执行的编程语言,每次运行程序的时候,解释器会把程序代码翻译成可执行的格式。
2)基于对象的语言:面向对象有三大特点(封装,继承,多态)却一不可。
3)事件驱动:在网页中执行了某种操作的动作。
4)简单性;变量类型是采用弱类型,并未使用严格的数据类型。
5)安全性:JavaScript不能访问本地的硬盘,不能将数据存入到服务器上,不能对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。
6)跨平台性:JavaScript依赖于浏览器本身,与操作平台无关。
(2)缺点:
各种浏览器支持JavaScript的程度是不一样的,支持和不完全支持JavaScript的 浏览器在浏览同一个带有JavaScript脚本的网页时,效果会有一定的差距,有时甚至会显示不出来。
4.引用方式:
(1)直接在HTML中引用:
<script type="text/javascript">
alert("js 的学习课程");
</script>
(2)调用js文件:
<script type="text/javascript"src="路径" charset="UTF-8" ></script>

二、JS中的变量和数据类型
1.声明变量:
var 变量名=值;
(1)JS中变量的使用注意的事项:
1)js中的变量的名称和java中标识符的命名保持一致就可以了。
2)js中变量名称是可以重复的,区分大小写;但是后者的名称会把前者的名称值覆盖。
4)js中末尾即使没有分号结束也是可以的,但是不推荐这样书写。
2.数据类型:
(1)基本数据类型:
number(数字类型的数据);
string(字符串类型);
boolean(布尔数据类型);
object(对象类型;
(2)JS中的特殊数据类型:
undefined(未定义);
NaN(不是一个数字) not a number;
null(空对象);

三、运算符和控制语句
1.JS中的运算符:
(1)算术运算符:
加+,减 - ,乘*,除 / ,取余%, ++, --;
(2)逻辑运算符:
& | ! && || ^ < > <= => !=;
(3)连接符:
+;
(4)特殊运算符:
1)“==”等值符:如果类型不一致,这时候会进行强制转换统一转number类型,然后再进行内容的比较。
2)“===”等同符:先比较类型 如果类型一致,再比较内容如果类型不一致 直接返回false。

2.控制语句:
(1)条件语句:
1)if(条件){
语句;
}
2)if(条件){
语句1;
}else{
语句2;
}
3)if(条件1){
语句1;
}else if(条件2){
语句2;
} else if(条件3)...else{
语句N
}
4)switch(表达式){
case value: break;
...
default: break;
}
(2)循环语句:
1)while(表达式){
循环体;
}
2)do{
循环体
}while(表达式)
至少执行一次循环体;
3)for(var i =0 ; i<10;i++){
循环体;
}



四、JS中的函数
1.函数声明:
(1) function 函数名(){
函数体;
}
(2)var 函数名=function(){
函数体;
}
(3) var 函数名=new Function("函数体");

2.参数传递:
在js中实参的个数和形参的个数可以不一致;

3.函数返回值:
1)如果函数没有return 这时候返回 undefined;
2)不使用 () 访问函数将返回函数声明而不是函数结果;


五、常用的对象
1.Date对象:
(1)常用方法:
1)GetDate():本月的第几天;
2)GetDay():本星期的第几天;
3)GetMonth():返回月份(0-11);
4)GetYear():返回1900年到现在的年份差;
5)GetfullYear():返回全年YYYY;
6)tolocaleString():返回当前的时间;


2.Math对象:
(1)常用的方法:
1)Math.random():获得随机数(0-1);
2)Math.floor():向下取整;
3)Math.ceil():向上取整;

3.String对象:
(1)常用的方法:
1)CharAt():根据下标获取内容;
2)IndexOf():获取下标;
3)Substr(index,length):字符串截取;
4)Substring(index,index):字符串截取,开始下标、结束下标;

4.Global对象:
(1)常用的方法:
1)Eval():把字符串转成可以执行的js代码;
2)isNaN():检查是否是数字;
