JavaScript历史
JavaScript是由Netscape公司开发的一种脚本语言,他们将这种脚本语言命名为LiveScript,与java一样也是一种面向对象的语言,无需编译,浏览器可直接运行。然后与Sun公司合作改名为JavaScript
JS的作用
1.响应客户鼠标和键盘事件
2.客户端页面表单数据验证
3.使用JavaScript动态的改变页面标签的样式
基本语法-变量
由于是一种弱类型语言,这里声明变量与javase中不同,无需声明变量类型
声明变量用var关键字
例如: var name;
var name = "xxx";
JavaScript支持的数据类型
1.数值型(number):
其中包括整型数和浮点型数
2.布尔型(boolean):
逻辑值 true 或flase
3.字符串型
由单个或多个文本字符组成.字符型是用单引号或双引号来说明的(使用单引号来输入包含引号的字符串)
4.underfined类型
声明但未初始化的变量 返回underfined
5.Object类型
对象类型 字符串对象,数组对象, math,日期, DOM
算术运算符
+ 数值+数值 = 数值 加法运算
+ 数值+字符串 字符串+字符串 = 字符串 连接符
赋值运算
比较运算
逻辑运算
条件运算
var result = (条件表达式)?结果1:结果2 当条件成立返回?后的内容,否则返回:后的内容
控制语句
选择结构
- 单一选择结构 (if)
- 二路选择结构 (if/else)
- 多路选择结构 (switch)
循环结构
- 由计数器控制的循环(for)
- .在循环的开头测试表达式(while)
- 在循环的末尾测试表达式(do/while)
- break continue
定义函数
函数定义的基本语法:
function functionName([arguments]){
javascript statements
[return expression]
}
function: 表示函数定义的关键字
functionName: 表示函数名
#此函数没有重载
调用函数
function sum(a,b){
return a+b;
}
var s = sum(10,5);
alert(s);
变量作用域
- 全局变量:在函数外面定义的变量称为全局变量,在函数内部可以直接使用
- 局部变量:在函数里面定义的变量成为局部变量
全局函数
javaScript 中已经定义好的,可以直接拿来使用的函数
- alert();
- parseInt() 把数值(小数) 可以转化为整数数值,把一个字符的数字转为数值类型(字符串不能 以非数字开头)
- parseFloat() 把数值(小鼠)可以转化为小数数值,把一个字符串的数字转化为数值类型,如果有小数,保留小数部分
- typeof()返回数值的数据类型
- eval()可以把一段字符串,当作js脚本运行
内置对象
字符串
属性
length用法:返回该字符串的长度
方法
- charAt():返回该字符串位于第n位的单个字符
- indexOf(char):返回指定char首次出现的位置
- lastIndexOf(char):跟indexOf()相似,不过是从后面开始找
- substring(start,end):返回原字符串的子字符串,该字符串是原字符串从start位置到end位置的前一位置的一段.
- substr(start,length):返回原字符串的子字符串,该字符串是原字符串从start位置开始,长度为length的一段.
- split(分割字符串):返回一个数组,该数组是从字符串对象中分离开来的,<分隔符字符>决定了分离的地方,它本身不会包含在所返回的数组中.
Array数组
属性
length:数组的长度,即数组里有多少个元素
方法
- join(分隔符):返回一个字符串,该字符串把数组中的各个元素串起来,用<分隔符>置于元素与元素之间.
- sort() :使数组中的元素按照一定的顺序排列。如果不指定,则按字母顺序排列.
- reverse():使数组中的元素顺序反过来.如果对数组[1,2,3]使用这个方法,他将使数组变成:[3,2,1].
Date
- new Date() 返回当日的日期和时间
- getFullYear() 返回四位数字年份
- getDate() 返回一个月中的某一天 (1 ~ 31)
- getMonth() 返回月份 (0 ~ 11)
- getDay() 返回一周中的某一天 (0 ~ 6)
- getHours() 返回 Date 对象的小时 (0 ~ 23)
- getMinutes() 返回 Date 对象的分钟 (0 ~ 59)
- getSeconds() 返回 Date 对象的秒数 (0 ~59)
Math
属性
PI 返回π(3.1415926535...)。
方法
- Math.abs(x) 绝对值计算;
- Math.pow(x,y) 数的幂;x的y次幂
- Math.sqrt(x) 计算平方根;
- Math.ceil(x) 对一个数进行上舍入
- Math.floor(x) 对一个数进行下舍入。
- Math.round(x) 把一个数四舍五入为最接近的整数
- Math.random() 返回 0 ~ 1 之间的随机数
- Math.max(x,y) 返回 x 和中的最大值
- Math.min(x,y) 返回 x 和 y 中的最小值
事件
事件是属于html标签中的内容,可以操作标签产生事件,通过时间去调用指定的函数
onclick ="fun()" 鼠标左键单击事件
οnfοcus="fun()" 输入框获取到鼠标焦点时触发 聚焦事件
οnblur="fun()" 输入框失去鼠标焦点时触发 失焦事件
οnmοuseοver="fun()" 鼠标移入到标签上时触发 悬浮事件
οnmοuseοut="fun()" 鼠标离开标签时触发
οnlοad="fun()" 当网页内容加载完毕时触发
οnchange="fun()" 当标签失去焦点时 且内容发生改变时触发
Html Dom
1.查找元素
有四种方法来做这件事:
通过 id 找到 HTML 标签 document.getElementById(“id");
通过标签名找到 HTML 标签 document.getElementsByTagName("p");
通过类名找到 HTML 标签 document.getElementsByClassName("p");
通过name找到 HTML 标签 document.getElementsByName(“name");
2.改变html
改变 HTML 标签的属性
document.getElementById(“username").value=“new value";
document.getElementById("image").src=“new.jpg";
修改 HTML 内容的最简单的方法时使用 innerHTML 属性
document.getElementById(“div”).innerHTML=new HTM
3.改变css
html dom允许 javaScript改变html标签的样式。
语法:document.getElementById("id").style.property=new style;
例:document.getElementById("p2").style.backgroundImage="url(bg.jpg)";
计时
通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执 行代码,而不是在函 数被调用后立即执行。我们称之为计时事件。
方法:
- setTimeout(“函数”,”时间”)未来的某时执行代码
- clearTimeout()取消setTimeout()
- setInterval(“函数”,”时间”)每隔指定时间重复调用
- clearInterval()取消setInterval()
注意:当调用script的function中定义的函数时不带(),此时函数当作形参传入计时器