数据类型
var num = 10; //数值类型
var str = '12345' //字符串类型
var show = true; //布尔类型
var obj = {}; //对象类型,默认值null
var undefined = undefined; //未定义类型
数据类型转换:
转换成字符串类型:
strtoString() //大部分类型使用这种方法
String(str) //undefined,null等特殊值,需要用String()
转换成数值类型:
Boolean()
转换为false的五种情况: 0 " null undefined NaN
其他的值都转换为true:非0和非空都为true
隐式转换:
任意类型+ 字符串 会转换为字符串
任意的类型 - * / 会转换为数值
特殊情况:
NaN : 不是一个数字
inNaN();不是人
数据类型检测:
typeof str
条件判断:
单向判断
if(条件满足){
//执行语句
}
双向判断
if(条件){
//执行1
}else{
//条件不满足执行
}
多向判断
if(条件1满足){
执行语句1
}else if(条件2满足){
执行2
}else if(条件3满足){
执行3
}else{
以上都不满足执行这里
}
精准判断(不常用)
switch(条件){
case 条件1;
语句1;
break;
case 条件2;
语句2;
break;
default;
最后的语句;
break;
}
if和switch的区别:
if适用于确定范围的判断
switch适用于确定的具体值判断
2:switch的注意点
switch的条件比较是全等(===)
break可以省略,但是会穿透执行;
三元运算符:
条件?条件满足返回:条件不满足返回
循环:
循环必须有三个条件:开始条件,条件范围,条件增量
for循环(常用)
var sum = 0;
for(var i = 1;i<=100 ; i++){
sum+=i;
}
while循环
var sum=0;
var i = 1;
while(i<=100){
sum+=i;
i++;
}
do-while循环
var sum = 0;
var i =1;
do{
sum+=i;
i++;
}while(i<=100)
三种循环区别:for适用于循环次数确定的情况,while和do-while适用于循环次数未知的情况
while是先判断,再执行,do-while是先执行一次再判断
continue和break:
continue 跳过当前循环
break 跳出整个循环
数组:
var arr =[] ; 数组的基本语法
var arr[1,2,3,4,5];数组可以存多个值,建议存同类型的值,但是可以存任意类型的值。
arr.length 数组长度
arr[0]数组中第一个元素
arr[0]数组中第二个元素
arr[0]=10;表示将数组中的第一个元素修改或赋值为0;
动态增加数组 arr[arr.length]
函数
函数的作用:封装功能,可以服用
函数的语法:定义+调用
函数的定义:
function 函数名(参数){
//执行
return 结果;
}
函数的调用:
函数名(值);//可以将函数的返回值存到变量中使用
形参:函数定义的时候的参数,本质上是一个局部变量
实参:函数调用的时候的参数,需要传入一个具体的值
注意:形参和实参建议一一对应
内置实参对象:arguments 使用中括号数组的方式获取实参
函数的其他用法:
匿名函数:function(){}
函数表达式:
var fn = function(){}
fn();
自调用函数:(function(){})()
箭头函数写法 fn =() =>{}
对象:就是将现实事物抽象为功能代码. 将现实世界的东西,用对象的语法格式来表示.
对象的语法: 对象中有属性和方法
对象三种写法:
1.字面量写法
var obj ={
name: '张鹏举',
age:5,
fn:function(){
cosnole.log("Hi Nice to meet you")
}
}
obj.name
obj.age
obj.fn
new Object()写法
var obj = new Object();
obj.name = "薛双林";
obj.age = 5,
obj.fn = function(){}
构造函数写法
function Person(name,age){
this.name= name;
this.age = age;
this.fn = function(){}
}
var obj = new Person(“李博涵”,5)
对象的遍历:for-in
for(var key in Obj){
console.log(key+'--'+Obj[key])
}