1.JavaScript:
举个例子:
HTML:类似人的骨骼架构
CSS:类似人的躯体
JavaScript:类似人的灵魂
2.声明:
方式一:
在HTML页面的任意位置使用script标签声明js代码域,建议声明在head标签中,增加代
码的阅读性。
特点:此种方式声明的js代码只在当前HTML页面中有效
方式二:
在head标签中使用script标签引入外部声明的js文件
属性:src的值可以为本地的js文件路径,也可以是网络中js文件的url地址
注意:
① script标签在HTML网页可以声明多个,不管是内部声明还是外部引入都是可以的。
② 浏览器在解析HTML网页的时候是自上而下执行,js代码的执行顺序是自上而下。
③ 不管我们在HTML页面中声明了多少script代码域,在浏览器解析的时候合并成一个
3.基本语法,变量:
1.变量的声明
var 变量名=值;
特点:
① js的变量是没有类型的,可以存储任意类型的数据。
② js中允许同名变量的存在,但是会根据代码自上而下的执行顺序覆盖
使用alert(typeof 名)查看类型
string类型
number类型
boolean类型
object类型
null,对象类型的空值
undefined,声明变量但未赋值的默认值
NaN,使用Number进行强转并且强转失败时
Number(值):将值转换为数据类型。
转换失败返回NaN,表明该值无法转换为数值。
Boolean(变量名):判断该变量是否有值。
空字符串,null,undefined,0 会返回false,其他返回true。
4.运算符:
算术运算符 +,-,*,/,++,–,+=,-=,%
逻辑运算符 >,>=,<,<=,!=,!,||,&&
==比较
如果两边的值的类型相同,则直接比较值。
如果两边的值的类型不同,则先使用Number强转后,再比较值。
===比较
先比较类型,类型不同直接false;
类型相同,继续比较值,值相同则true,不同则false。
5.逻辑结构:
逻辑结构学习:
1.逻辑结构
① if语句
② if(){}else{}语句
③ if(){}else if(){}else if(){}else{}多分之语句
④ switch语句
2.循环结构
for循环
for(var i=0;i<10;i++){
console.log(i);//控制台输出语句
}
注意:循环变量的声明类型为var
while循环
do{}while()循环
6.函数 在Java中叫方法
作用:封装处理某类数据的逻辑代码,类似Java中的方法,将要处理的数据作为实参传递给逻
辑进行处理即可。
1.函数的声明
① function 函数名(形参名,形参名,…){函数体}
② var 变量名=new Function(“形参名”,“形参名”,“函数体”);
③ var 变量名=function(形参名,形参名,…){函数体}
注意:
在js中函数是以对象的形式存在的,相当于js底层创建一个对象来存储逻辑。
2.函数的形参
① 形参的声明无需类型声明,直接写形参名即可
② 如果声明了多个形参,在函数被调用的时候,可以不赋值,也可以部分赋值,但是
需要按照顺序给值。
注意:
同名函数不是重载,而是覆盖
3.函数的返回值
默认返回undefined,如果我们声明了return语句,则按照return语句返回。
4.函数的执行符
函数是对象,也就说我们是声明了一个变量指向了一个存储了逻辑代码的函数对象。
在js中,我们可以使用如下方式告诉浏览器将函数对象中的逻辑代码给执行:
函数名(实参,实参,…)
所以函数的执行符为小括号。
注意:
前提变量指向的必须是一个函数对象。
5.函数作为参数传递
因为函数是对象,在js中函数是可以作为实参传递给另外一个函数使用的
格式如下:
function 函数名(形参名){形参名()}
函数名(function(){})
7.数组
作用:存储大量的数据
1.数组的声明
① var 数组名=new Array() 声明一个空数组
② var 数组名=new Array(元素1,元素2,元素3,…) 声明一个带有初始化数据的数组
③ var 数组名=new Array(长度) 声明一个指定长度的数组
④ var 数组名=[] 声明一个空数组
⑤ var 数组名=[元素1,元素2,元素3,…]声明一个带有初始化数据的数组
注意:
js的数组声明无需指明长度,js的数组会随着数组中存储的数据的数量的变更
自动的变化,其数组的长度。js的数组可以存储任意类型的数据。
2.数组的存取
数组名[角标] 返回角标的值
获取:alert(名[0])
数组名[角标]=值 将新的值存储到指定的角标中,覆盖原有值。
赋值:名[0]=“想要赋的值”
3.数组的遍历
① 使用for循环
for(var i=0;i<数组名.length;i++){循环体};
② 使用for in 语句
for(var i in 数组名){循环体} 注意i的值为角标,不是数组中的值
4.数组的length属性
数组名.length 返回当前数组的长度
数组名.length=值 修改当前数组的长度,注意有可能数据丢失。
8.常用对象
1. 数组的常用功能
concat方法:返回一个新数组
join方法:返回字符串值
pop方法:移除数组中的最后一个元素并返回该元素
push方法:将新元素添加到一个数组中,并返回数组的新长度值
2. String的常用功能
split方法:切割
substr方法:指定位置的字符串
substring方法:返回位于 String 对象中指定位置的子字符串
3. Date对象常用功能
var d = new Date
d.getFullYear():返回当前的年份数
d.getMonth()+1:返回月份,需要手动+1
d.getDay():返回星期数,星期日返回0
d.getDate():返回日期数
4. Math对象常用功能
alert(Math.ceil(1.2));//向上取整
alert(Math.floor(1.2));//向下取整
alert(Math.floor(Math.random()*9000+1000));//0和1之间的数值
eval方法:将字符串的js代码转换为真正的js代码执行
如:var a=“var bb=123”;
eval(a);
alert(bb)
isNaN方法:判断值是否为数值类型,返回true不是数值,false表示为数值
9.事件机制
作用:让浏览器监听用户在网页中的行为动作,一旦满足要求,立即触发对应的逻辑的执
行。
使用:
① 事件声明在HTML标签上,不同的事件监听的行为不同。
② 将逻辑和监听建立联系,当满足后直接触发执行
单机事件:onclick
双击事件:ondblclick
键盘事件:onkeydown键盘下压,onkeyup键盘弹起
焦点事件 就是光标:onfocus获取光标,onblur失去光标
值改变事件:onchange专门用在select标签上使用
页面加载事件:onload用在body标签上