JavaScript基础知识点总结

数据类型

基本数据类型

Number 数字型

String 字符串型

Boolean 布尔类型

Undefined (声明了未赋值)

Null (空值)

复杂数据类型

object 对象

function 函数

Array 数组

类型转换
  1. 转换为String类型

    toString()

    String()强制转换

  2. 转换为Number型

    parseInt() 将string转换成整数数值型

    parseFloat() 将string转换成浮点型

    Number() 强制转换成整型

  3. 转换为布尔类型

    Boolean()

    代表空,否定的值都会返回false

    (’ '、0、NaN、null、undefined)

运算符

运算符的分类

算术运算符 + - * / %

递增递减运算符 ++ –

比较运算符 > ,<, >=,<=,,=

逻辑运算符 &&,||,! (注意逻辑中断)

赋值运算符 =,+=,-=,*=,/=,%=

运算符的优先级
() > 一元运算符(++ -- !) > 算术运算符(先乘除后加减)> 比较运算符(> >= <= ) > 逻辑运算符(&& 高于||) > 赋值运算符 > ,逗号 

流程控制

分支结构
  1. if分支

    //单分支
    if(条件表达式){
     //执行代码
       }
    //双分支
    if(条件表达式){
       //执行代码
       }else {
       //执行代码
       }
    //多分支
    if(条件表达式){
        //执行代码
    }else if(条件表达式){
         //执行代码
    }else{
         //执行代码
    }
    
  2. switch 分支

    switch(表达式){
        case value1:
            //表达式的值等于value1的值时执行的代码
            break;  //break不可省略 否则会一直往下执行
        case value2:
            //表达式的值等于value2的值时执行的代码
            break;
        ......
        default:
          //表达式不等于任何一个value时要执行的代码
           }
    
  3. 三目表达式

    条件表达式1?表达式2:表达式3;
    表达式1true 返回表达式2的值  否则返回表达式3的值
    
循环结构
  1. for循环

    //单层for循环
    for(初始化变量;条件表达式;操作表达式){
        //循环体
    }
    //双重for循环
    //外层循环一次内层循环多次
    for(初始化变量;条件表达式;操作表达式){
        //循环体
        for(初始化变量;条件表达式;操作表达式){
        //循环体
    }
    }
    
  2. while循环

    while(条件表达式){
        //循环体  里面应该有计数器 ++  --
    }
    //先执行条件表达式  如果为true 则执行循环体  否则直接退出循环
    
  3. do while循环

    do{
        //循环体
    }while(条件表达式);
    //先执行一次循环体在判断条件 如果为true则继续执行循环体 否则直接退出循环
    

三种循环在很多情况下可以相互替代使用

continue与break

两者都是退出循环

continue 跳出本次循环继续执行下一次循环

break 终止循环不在进行循环

Array数组

一组数据的集合,每个数据都称作元素。

数组中可以存放任意数据类型的元素

创建数组
  1. new 创建数组

    var arr =new Array();

  2. 字面量创建数组

    var arr=[];

获取数组中的元素(遍历数组)

通过下标来访问,从0开始。

数组的长度是元素的个数,不要与索引号混淆

var arr=[1,2,4];
for(var i=0;i<arr.length;i++){
    console.log(arr[i]);
}
数组新增元素

1.通过修改length长度新增元素

var arr=[1,2,3];
arr.length=5;
arr[3]='123';
//不给值默认是undefined

2.修改索引号追加新元素

var arr=[1,2,3];
arr[3]=4;//直接根据索引号赋值
arr[1]='abc';//这里是替代

注:不要直接给数组名赋值,否则里面的数组元素都没有了。

函数

函数的使用
//声明函数
function 函数名(){

}
var 变量名 =function(){  //匿名函数
    
}
//调用函数
函数名();

函数的参数

形参:形式上的参数,函数定义是传递的参数

实参:实际的参数,调用函数传递的参数

函数调用的时候是将实参值传递给形参值

函数的返回值return

return 语句

注意:

  1. return终止函数return后面的代码不会执行
  2. return 只能返回一个值
  3. 没有return返回undefined
  4. return 也能返回一个数组
arguments的使用

当不确定的传递参数的个数有多少时,可以用arguments来获取

arguments相当于一个伪数组也可以进行遍历

具有length属性

按照索引进行存储

他没有真正数组的一些方法

只有函数才有arguments对象,而且每个函数都内置了这个对象

作用域

代码在某个范围内起作用和效果

全局作用域(整个script或一个js文件)

局部作用域(在函数内部使用)

全局变量

在全局作用域下的变量

注:如果在函数内部没有声明直接赋值的也是全局变量

局部变量

在局部作用域下的变量

注:函数的参数也可以看作示局部变量

作用域链

内部函数访问外部函数的变量(就近原则)

预解析

会把变量和function在代码执行之前会完成

变量预解析

变量的声明会被提升到作用域的最前面,变量的赋值不会提升

函数预解析

把所有的函数的声明提升到作用域最前面,调用函数不会提升。

对象

创建对象

1.利用字面量创建对象

var obj={

obj.属性=值,

};

2.new Object()创建对象

var obj=new Object();

obj.属性=值;

3.利用构造函数创造对象

function Obj(){

this.属性=值;

}

new Obj();

Math对象

Math.PI 圆周率
Math.max() 最大值
Math.min() 最小值
Math.abs() 取绝对值
Math.floor() 向下取整
Math.ceil() 向上取整
Math.round() 四舍五入 (注意.5往大的取)
Math.random() 随机小数[0,1)

//随机生成n-m之间的随机整数
function getRandom(min,max){
 return min+parseInt(Math.random() * (max-min+1));
}
getRandom(min,max);
Date日期对象

使用前必须var date = new Date();
date.getFullYear() 获取当前年份
date.getMonth() 获取当前月份
date.getDate() 获取当前日期
date.getDay() 获取当前周几(周日0,周六6)
date.getHours() 获取当前小时
date.getMinutes() 获取当前分钟

date.getSecond() 获取当前秒
获取时间戳的方法
date.getTime();
date.valueOf();
+new Date();
Date.now();

Array数组对象

instanceof Array 检测是否为数组对象
Array.isArray(arr) 检测是否为数组对象
arr.push() 从数组元素最后添加一个或多个元素
arr.unshift() 从数组元素前面添加一个或多个元素
arr.pop() 删除数组中最后一个元素
arr.shift() 删除数组中的第一个元素
arr.reverse() 翻转数组
arr.sort() 对数组排序

//对数组排序
arr.sort(function(a,b){
return a-b;升序
//return b-a; //降序
});

arr.indexOf() 获取数组中元素的索引
arr.indexOf(‘目标元素’,起始位置)
arr.lastIndexOf() 从后面开始查找获取数组元素的索引
arr.toString() 将数组转换为字符串
arr.join(‘分隔符’) 默认为逗号 将数组转换为字符串
arr.splice() 删除,增加,替换数组元素

String字符串对象

str.indexOf() 查找某一元素所在位置的索引
str.indexOf(‘目标字符’,起始位置) 查找某一元素所在位置的索引
str.charAt(索引号) 根据位置返回字符
str.charCodeAt() 返回相应的索引号的字符的ASCII值
str.concat(‘字符串1’,‘字符串2’…) 连接字符串
str.substr(‘起始位置’,目标长度) 截取字符串
str.replace(‘被替换的字符’,‘替换为的字符’) 替换字符
str.split(‘分隔符’) 将字符串转换为数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值