1.JS的组成
JS由ECMAScript,DOM,BOM组成。
ECMAScript为JavaSCript的实现标准,DOM为文档对象模型,BOM为浏览器对象模型。
2.JS的特点
解释型语言
基于原型的面向对象。
3.数据类型
基本数据类型:Number String Boolean null undefined
复杂数据类型:Array Object Function
4.运算符
① 算术运算符:
+
-
*
/
++ 自增
-- 自减
注意:
+两边只要有一个操作数是字符串类型,则执行拼接操作,拼接结果为:字符串类型
自增自减运算符前置和后置对变量自身没有影响
自增自减运算符出现在了赋值语句中
运算符前置: 先运算,再赋值
运算符后置:先赋值,后运算
② 赋值运算符
=
+= 先运算,再赋值
—=
*=
/=
%=
③ 比较运算符
>
<
<=
>=
== 等于
!= 不等于
=== 等于(全等)
字符串按照ASCII码一位一位进行比较
④ 逻辑运算符
&& 逻辑与 并且
运算规则:两边均为真,则结果为真,其它都是假
|| 逻辑或 或者
运算规则:两边有一个为真,则结果即为真
! 逻辑非 取反
一般情况下,逻辑运算符的运算结果为:布尔类型
⑤ 条件(三目)运算符
表达式1 ? 结果1 : 结果2
5.找元素
①根据id找元素
document.getElementById('id')//返回: 元素对象/null
②根据标签名找元素
document.getElementsByTagName('标签名') //在整个页面中根据标签名找元素,返回值:伪数组/类数组/集合
node.getElementsByTagName() //在指定元素节点下根据标签名找元素
③根据类名找元素
document.getElementsByClassName('类名'); //返回值:集合/类数组
6.函数
① 定义:
function 函数名(){
函数体;
} //特点:函数不会自动执行,需要被调用才可以执行
② 调用:
函数名(); //调用函数
③ 用途:
- 用于封装
- 事件函数
- 对象的方法
④ 函数的参数
形参 函数定义时的参数
实参 函数调用时的参数
⑤argumens
是函数对象的内置属性, 指:实参集合
不确定应该定义多少形参,干脆就不定义形参。直接使用arguments来取接收到的数据
7.this
this在不同的地方右不同的值
在函数外,this指向window
在函数内,this指向调用者
在事件函数内,this事件触发者
8.自定义属性
为元素节点对象新增原先不存在的属性,并且可以在属性中保存数据
var lis=document.getElementsByTagName('ul')[0].getElementsByTagName('li');
for(var i=0;i<lis.length;i++){
lis[i]._index=i;//为每一个li都新增一个自定义属性 _index ,保存自身的位置
lis[i].onclick=function(){
console.log(this._index);
};
}
//for循环执行时,为每一个li都添加了点击事件(为每一个li都添加了onclick,赋值了一个对应的事件函数)