1.变量
在js中通常以var来声明,可以用来存储数据,可以更改
2.常见的输出方式
2.1 document.write()(方法)
- 将节点直接写入body(文档)标签中
2.2 console.log()
- 控制台输出语句,可以正常地编译代码
- 延申:console的输出语句都有什么
2.3 alert()
- 弹出框语句
3.运算符
3.1 算数运算符
- (+ - * / %)
%:取余,直接获取到除不尽的余数
// +
var num1=a;
var num2=b;
console.log(a + b);
// -
console.log(b - a);
console.log(a - b);
// *
console.log(a * b);
// /
console.log(a / b);
console.log(b / a);
// %(取余)
console.log(b % a);
3.2 关系运算符
- < > <= >=
==:等于,判断值是否相等
===:全等,判断值和数据类型是否都相等
!=:不等,判断值是否不相等
!==:全不等,判断值和数据类型是否不相等
// 等于和全等 关系运算符的结果都是布尔值true=>等式成立 false=>等式不成立
console.log(1=="1");
// == 等于 在判断的时候只需要值相等就行类型不用想等
console.log(1==="1");
// === 全等号在判断的时候值和数据类型必须完全一样
// != 不等于,只需要判断值不需要判断数据类型
// !== 全不等,值和数据类型都要判断
// 字符串的判断规则
// 所有的字符串(字符数字以及大小写英文字母)也能进行大小的判断
// 判断规则依据 ASCII编码
console.log("A" < "1");
// 多个字母比较
// 多个字母机型比较 只比较第一个
console.log("abc"<"cba");
// 48~57 0~9
// 65~90 大写英文字母
// 97~122 小写英文字母
3.3 逻辑运算符
- &&
且,必须是符号两边的判断条件都成立,结果才为true;
var x=5;
var y=10;
// && 且
// 两边的条件必须都成立
console.log(x==5 && y==10);
- ||
或,符号两边的判断条件只要有任意一个成立结果就为true
// ||或
// 两边的条件一个成立就可以
console.log(x==6 || y==10);
- !
非,取反当判断条件为true的时候取反为false反之为true
// !非
// 取反 如果条件是true结果就为false反之结果为true
console.log(!true);
console.log(!(x==y));
4. 基础数据类型
- 数字类型(数值类型)number
可以进行算术运算+为两个数相加
// 数值
var a = 1;
- 字符串 String
由""或''抱起来的字符就是字符串
在es6中有字符串的新写法---模板字符串``
特点:方便 快捷 可以换行
不用字符串拼接,变量的解析使用${}
字符串拼接,使用+来拼接两个字符串
var a = "asdasdasdasd";
var a = 'asdasdasdasd';
html=html+`<div class='box${i}'>${i}</div>`;
- 布尔类型Boolean
true和false 是一个特殊的数据类型,相当于是一个被动属性,其他数据类型的数据基本上都有布尔值
数字0:false
Undefined:false
NULL:false
非0的数字:true
字符串:true
(只有一个变量里面有值且值不是false则他的布尔值都是true) - 数组Array
数组通常由中括号所包含,里面的元素由逗号分隔开,每个元素都有其相对应的索引值(数组的下标)
索引值:是由0开始按顺序依次递增的正整数,当数组中的元素被删除的话索引值不会删除,而是由下一个元素补上。
var arr=new Array[];
console.log(arr);
var arr=[1,2,3,4,5];
var a=arr.length;
var b=arr[索引值];
- 对象 Object
对象由{}包含,里面的数据以键值对的形式存在
数据都是以逗号隔开,冒号前面的键通常是以字符串或变量的形式存在(这里的变量不用声明),冒号后面叫值可以是任意数据类型的数据
对象中有一种特殊的对象叫JSON对象
var obj={
"name":"张三";
"age":18;
"sex":"男";
}
var json={
"school":[
{
"name":"蓝鸥1",
"age":"20年"
},
{
"name":"蓝鸥1",
"age":"20年"
},
],
"class":[
{
"html":4,
"java":"5
},
]
}
- 特殊数据类型 undefined null
5.数组
- 数组的声明方式
构造函数
var arr=new Array();
//可以声明一个指定长度的空数组 var
arr=new Array(10);
//也可以声明一个含有具体元素的数组var
arr=new Array(1,2,3,4,5);
//注意元素数量必须大于等于2
字面量
var arr=[1,2,3,4,5];
- 获取数组中的元素
以数组名[索引值]的形式来获取数组中的元素,要想获取数组中的每一个元素就得使用for循环 - 数组的属性
length属性 arr.length,直接获取到数组长度(数组的长度就是数组中元素的个数) - 数组的操作方式
1.push() 末尾添加
向数组末尾添加一个元素并返回新数组的长度
var arr=[1,2,3,4,5];
arr.push('qwe');
console.log(arr);
2.pop() 末尾删除
将数组的最后以为删除并返回被删除的那个元素
var arr=[];
var b=arr.pop();
console.log(arr);
console.log(b);
3.unshift() 首位添加
向数组开头添加一个元素并返回新数组的长度
var arr=[1,2,3,4,5,6,7,8,9];
var a=arr.unshift('asd');
console.log(arr);
console.log(a);
4.shift() 首位删除
将数组的第一个元素删除并返回被删除的那个元素
var arr=[1,2,3,4,5,6,7,8,9];
var a=arr.shift();
console.log(arr);
console.log(a);
5.splice(index,howmany,item)定性添加或删除
三个参数:
index:添加或删除的元素的索引值(元素的位置)添加或删除多个元素的时候index就是起始位置
many:删除的数量,不删除的时候就写0
item:需要添加的元素可以是添加多个元素的时候以逗号隔开,不添加就不写
添加和删除可以同时进行,但是仅限同位置,返回值:删除的时候会将删除的元素以数组的形式返回出来,添加的时候只返回空数组
var arr=[1,2,3,4,5];
// 删除arr数组中第二个元素(索引值为1)
var a=arr.splice(1,1);
console.log(arr);//[1,3,4,5]
console.log(a);//[2]
6.concat() 拼接两个数组
将两个数组合成一个数组,哪个数组使用concat方法,拼接的时候哪个数组就在前面,不会改变原有的数组,会将新和成的数组以返回值的方式返回出来
var arr=[1,2,3];
var arr1=[4,5,6];
var a=arr1.concat(arr);
console.log(arr);
console.log(arr1);
console.log(a);
7.indexOf()
查找数组中的某个元素,如果能找到就返回这个元素的索引值,如果找不到就返回-1,如果数组中存在多个重复目标元素则返回第一个目标元素的索引值
var arr=[5,4,3,2,1,3];
var a =arr.indexOf(3);
console.log(a);
console.log(arr);
// 数组去重
var arr=[];
for(var i=0;i<10;i++){
arr[i]=Math.round(Math.random()*(9-1)+1);
}
console.log(arr);
var arr1=[];
for(var i=0;i<arr.length;i++){
if(arr1.indexOf(arr[i])==-1){
arr1.push(arr[i]);
}
}
console.log(arr1);
8.join()
将数组转换成字符串不会改变原有的数组,会将转化完毕的字符串以返回值的形式返回出来,join()在不设置的情况下默认将每个元素以逗号隔开然后转化为字符串,在设置的情况下设置什么就以什么隔开,如果设置为空字符串则不隔开元素,所有元素连在一起。
var arr=[1,2,3,4,5,6];
var a=arr.join('');
console.log(a);
console.log(arr);
console.log(typeof(a));
- 多维数组
当数组中的元素还是数组它就是多维数组
一维数组:数组中的元素不是数组
二维数组:数组中的元素是一层数组
三维数组:数组中的元素是两层数组
6.分支语句
- if...else
if(判断条件1){
//只符合判断条件1后执行的代码
}
else if(判断条件2){
//不符合判断条件1,但符合判断条件2执行的代码,注意!else if可以有多个,当else if有多个的时候按顺序判断其是否符合条件。
}
else{
//没有判断条件,当if和所有else if的判断条件都不满足时执行else中的代码,else可以不写
}
<!--
判断条件可以是条件语句,也可以是变量,当是变量的时候则会根据这个变量的布尔值进行判断
--!>
- switch...case
switch(变量){
case 常量值1:
//当变量等于常量值1时执行的代码
break;
case 常量值2:
//当变量等于常量值2时执行的代码
break;
.
.
.
default:
//当变量不等于所有的常量值时执行的代码
}
7.循环语句
- while循环
var i=0;
while(i<10){
console.log(i);
i++;
}
- do...while
do{
//执行的代码
}
while(判断条件);
var i=0;
do{
console.log(i);
i++;
}
while(i<10);
- for
for(声明变量并赋予初始值;对变量进行条件判断;变量的自增或自减){
//当变量满足判断条件时执行的代码,如果变量不满足条件则不执行代码并跳出循环
}
for循环的执行顺序
//先对变量进行判断=>满足条件执行代码=>变量自增或自减=>对变量进行判断=>...
8.字符串和数值之间的转换
- 给字符串数字*1=>"2" * 1
因为做乘法运算时系统会默认将字符串转化成数字 - parseInt
将小数转化为整数(直接舍去小数部位)
还能将字符串数字转化成数字 - 将数字转化成字符串的时候,只需要给数字拼接一个空字符串""就行
注意:将字符串转化成数字的时候
”123“=>123
"123qwe123"=>123
"qwe123"=>NaN