开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 13 天,点击查看活动详情
前言:
对应所有语言,我们都可以从下面五个方面来描述它,分别是:变量,数据类型,运算符,流程控制,函数。
下面我们也从这五个方面来了解js
变量
什么是变量?当年打开百度会发现答案很多
这些看上去好像都有道理,但是在计算机里面,变量=存储单元
我们可以这样想,当声明变量:var x=1 那么x就代表1,存储在计算机里面。
变量声明:var 变量名称=值; var 变量名称;
程序的作用就是:接收输入数据并进行存储、处理相关数据、返回处理结果。
那么变量的作用就是:存储数据
变量命名规则:
- js区分大小写
- 变量由 字母数字下划线组成,不能数字开头
- 见名知义
- 多个单词变量:1.大驼峰(每个首字母大写) 2.小驼峰(第一个小写,后面大写) 3.下划线(单词之间下划线连接)
注释:
//单行。/* */多行
输出:document.write(); alert console.log()
数据类型
什么是数据类型?
数据类型就**是一种代表变量占单元数量符号 **
为什么会有数据类型??因为计算机存储单元有限,为了合理为变量分配空间(存储单元)
JavaScript数据类型分类:
基本型
- 数字型 numbetr int float double
- 字符串型:String
- 布尔型:boolean
复合型 数组和对象
数组:(数据类型可以不一样) 声明:
声明:
var arr=new Array()
var arr2=new Array(size)
var arr3=new Array(element1,element2,element3.....)
var arr4=[];
var arr5=[data1,data2....]
arr.length:数组长度(标识数组占空间个数)
对象:
{key:value,key2:value2,key3:value3.....}
var student{
name:"zs",
age:20
}
数组的遍历
- for循环
- map:返回一个新数组,原数组不变,遍历数组每一项值,有三个参数item, index, arr
- forEach:无返回值,若返回则值为undefined,原数组不变,遍历数组每一项值,有三个参数item, index, arr
- every:返回值是一个布尔值。只有所有元素都具备某项特性后,才会返回true。只要有一项不满足就返回false。
- some:返回值是一个布尔值true。只要有一个满足,循环就会结束,接下来的数据就不会继续判断
- filter:过滤数组筛选出符合条件的值,条件为true时的结果。
其他类型
- underfined:声明了变量没有初始化
- null:声明变量赋值为null,变量的数据类型是null
怎么获取数据类型?typeof()
数据类型之间转换:
var num="1234.1235hello" string
parseInt(num)-> 1234 number
parseFloat(num)-> 1234.1235
运算符:
- 算数运算符 + - * / % ++ --
- 关系运算符 > < >= <= === !== !=
- 逻辑运算符
与或非
与&&(同真为真) 短路运算(表达式1为假不再计算表达式2)
或||(有真为真)短路运算(表达式1为真,不计算表达式2)
非!
举例:
var num=100;
var num2=false&&++num
num=? 100
num2=? false
var num=100;
var num2=false||++num
num=? 101
num2=? true
!1=false
!0=true
- 赋值运算符
=+= *= /= -= %=
var num=100;
var num2=num;
写=读
先读再写
- 字符运算符
+
var s=hello;
var s2=world;
var s3=s+s2;
s3="helloword"
字符模板
- 三目运算符 表达式1?表达式2:表达shi3
什么叫表达式: 能够运算出结果的式子
true?false:true false
0?true:false false
0,0.0 “0” NaN “”===》false
流程控制
概念:程序执行先后顺序就是流程控制
- 顺序控制,默认的。没有声明关键字,先出现下先运行
- 选择控制:满足条件执行,不满足不执行
- 循环控制:满足条件重复执行
- 顺序控制是全局的,选择控制和循环控制是局部的
选择控制 就是if语句,包括单if,if-else,多if
单if
if(条件表达式){
语句们
}
双选择语句if-else
if(条件表达式){
语句1
}else{
语句2
}
多选择
if(条件1){
语句1
}else if(条件2){
语句2
}else if(条件3){
语句3
}
....
else{
语句n
}
多选择使用最好转换成单if。因为if太长,逻辑不容易理清
if(条件1){语句1}
if(条件2&&!条件1){语句2}
if(条件3&&!条件1&&!条件2){语句3}
....
if(!条件1&&!条件2&&!条件3){语句n}
多分支语句switch。
switch(表达式){
case 值1:
语句1;
break;
case 值2:
语句2;
break;
defalut:
表达式n
}
如果没有break会穿透 case叫switch入口,找到一个case后,其他case失效,从而实现穿透效果
循环控制 分三个循环,for,while,do-while
for(初始表达式1;条件表达式2;增量表达式3){ 语句4; }
执行顺序:1 2 4 3 2 4 3 2 4 3.....
实例: 打印倒三角