HTML 内容 CSS样式 JS动作
JS是一种可以在浏览器运行的脚本语言,用来实现用户交互、数据处理
基本语法
<script>......</script> 可以在head(表示函数定义、变量定义)或body里(表示实际动作)
字符串用 '...'
语句块用{...}
每个语句结尾用;
数据类型
123 整数、小数、负数
NaN 表示不是一个number、无法计算结果时
% 求余运算
Infinity 无限大,超出最大值
字符串
以 ‘…’ “…” 括起来的文本
\ 转义字符,转义'I\'m \"OK\"!' ; 表示的字符换是:I'm "OK"! ,\n表示换行,\t表示制表符,
` .. ` 多行字符串,文本两端用反引号
+ 模板字符串,可以把多个字符串连接起来'... ' +' ... ',或者用 `…,$…,$…`(多行字符串反引号写法)
var massage = '你好,’ + name + ',你今年' + age + '岁了';
var massage = `你好, ${name}, 你今年 ${age}岁了`;
操作字符串:toUpperCase() 把一个字符串全部变为大写, toLowerCase()全变小写,indexOf()搜索指定字符串出
现的位置,substring()返回指定索引区间的子串。
var t = 'name';
t.toUpperCase(); //返回‘NAME’
变量
变量:程序中用来存放数据的东西, var 用一个变量名表示
变量的命名:可以是英文字母、数字、下划,但第一个字符不能是数字,也不能用JS的关键字当变量名.
变量没有类型,值有类型(值包括字符串、数值、布尔值)
全局变量:不用var声明的变量是全局变量。用var声明的变量不是全局变量,范围是仅限在该变量给申明的函数体内,同名变量在不同的函数体内互不冲突,
1、= 等号是对变量进行赋值的运算符,如hello=“Hello" ; \ var x=8; \ x=x+2; (先计算右侧x+2得到结果,再赋值给左 侧的x,即x的值为10)
2、+ 用在数字间是计算作用(2+3) 用在字符间、字符与数字间是连接作用(name+age 、Hello+2)
3、(...) 括号可以升级运算级,如(3+7)*2 先算括号内的加
4、result++=result+1 result-- =result-1
5、比较运算符:可以比较数值或字符串 == 等于 != 不等于 >大于 <小于 >=大于或等于 <=小于或等于
6、逻辑运算符:&& - and -所有都为true才是true, ||-or-其一个为true就是true , !- not - 把true变为false
7、字母大小排序:A>B>C>a>b>1>2...空格是最小的字符
数组
数组:一种数据结构,一组按顺序排列的集合。用 [ ] 表示,元素之间用 ,逗号来分割,数组可以包括任意数据类型,通过索引来访问每个元素,可以增删、查找、传递。
【数组内容较多,关于数组的详细介绍见下一篇总结 https://www.jianshu.com/p/d341cbb6ea4b 】
访问数组:
a[0] 访问数组a中的第一个数据 ,a[x] = n 在数组a中创建了一个新的单元 x , 并且赋值n
数组操作:
1、堆栈: push 、pop 、 shift
push() 向末尾添加元素 pop() 删除最后一个元素 shift() 删除第一个元素
2、排序:sort 、 reverse
shot() 按照默认顺序(不是大小顺序) 、 reverse()反转输入顺序,从后往前
3、链接 : concat() 当前的数组和另一个数组连接起来,并返回一个新的数组
4、连接符:join() 把数组的每个元素之间都用指定字符连接起来,并返回链接后的字符串
5、splice : splice(index, howmany, itema,...,itenN) 修改数组的方法,分别是(必须|整数|开始位置,必须|删除的个
数,可选| 插入新的元素),返回一个新的数组
6、索引 indexOf 、 slice
indexOf() 搜索一个指定元素的位置 slice()从数组某个元素截取
对象
Object对象:是一种复合的数据类型,或者说是一个属性集合,可以把多个数据集中在一个变量里,并且给每个数据起名字。(与数组概念相同,但是对象中每个属性有自己的名字和值,数组中数据没有名字只有编号)对象一般用于程序中存储和传输数据。
对象内包含元素:1、属性(字段) 2、方法(函数)
对象是一组由键值组成的无序集合,键又称对象的属性,都是‘字符串’类型,值是任意数据类型,用 对象变量.属性名 的方式,可以获取对象属性,
对象类型:
1、new (new可以省略):
var box = new Object(); //创建一个对象
box.name = 'Ding'; //创建属性
box.age = 28;
alert(box.age);
2、用字面量方式创建对象。
多选用该方式,因为清晰,语法代码少,还能封装数据,是向函数传递大量可选参数的首先方式。
var box = { //用字面量方式封装数据
name:'Ding'; //创建属性
age:28;
};
delete box.age; //删除属性
alert(box.name); //可以直接调取属性
alert(box['name;]); //或者也可以加引号用数组方式输出
3、使用字面量传统赋值方式(比较少用)
var box = {};
box.name = 'lily';
对象方法(函数):
var box = {
name:'lily';
run:function(){ //创建方法,方法=函数 ,此处是一个匿名函数
return'123';
}
};
alert(box.run()); //调用方法(函数),如果没有圆括号会打印代码
//有圆括号才会打印返回值
判断条件