JS整体基础

1. 变量

  只要声明变量 就是 重新开辟一个储存空间
值赋值
    像数字 字符串 这种最基础的类型 直接对变量进行赋值
引用赋值
    以变量的形式对其进行赋值
        var a = 1;
        var b = a;
    将 数组 或 对象 给变量进行赋值
        var arr = [1,2,3,4,5];
浅拷贝
    var arr = [1,2,3,4,5];
    var arr1 = arr;
深拷贝
    var arr = [1,2,3,4,5];
    var arr1 = [];
    for(var i = 0;i<arr.length;i++){
        arr1[i] = arr[i];
    }

2. 基础数据类型

2.1 数字
    0.1 + 0.2 = 0.3000000000004
        JS 是一个弱类型语言 无法对二进制实现一个完美的数据类型
2.2 字符串
    字符串的操作方法
    + 号 是 拼接号
    `` 模板字符串 (${}变量的解析)
2.3 数组
    数组操作方法
        数组中 如果有元素被删 后面的元素 往前自助补位
    数组排序方法
    数组去重方法
2.4 对象
    键值对的格式
    键 字符串或者变量 遵循 命名规则
    值 任意数据类型
    循环遍历对象 使用 for ...in
2.5 布尔 Boolean 简写 bool
        只有true 和 false
        数字0 null undefined NaN false
        除了这五个之外 所有的 都是 true
2.6 null
2.7 undefined

3. 运算符

算数运算符
    字符串数字 可以直接进行 - * / 运算 所得结果是 数字
    字符串数字 进行 + 运算的时候 直接是 字符串的拼接 而不是运算
关系运算符
    < > <= >= == ===
    if判断里面写的是 等于号 == 而不是赋值号 =
逻辑运算符
    && || !

4. 三目运算符

(判断条件)? 成立赋值:不成立赋值

5. 分支语句

if else || else if
switch case
    switch (n){
        case 值:
            执行代码;
            break; // 必须加
        case 值:
            执行代码;
            break; // 必须加
        default:
            当所有case都没有匹配上 才执行
            break;
    }

6. 循环语句

for
for in
// for in循环
// 专门用来循环对象

var obj = {
    name:'张三',
    age:1,
    sex:'男',
}

for(var val in obj){
    // val 代表键名
    console.log(val);
    // obj[val] 代表值
    console.log(obj[val]);
}
do while
while

7. 常用输出

document.write();
console.log();
alert();
标签.innerHTML
标签.innerText

8. 函数

函数的定义 和 调用
    形参 函数定义时 写的参数
    实参 函数调用时 写的参数
    作用域 全局作用域 局部作用域
    this 指向
        函数自调用 或者 不借助 事件调用时 this 指向 window
        函数被事件触发 时 this 指向 触发这个事件的 dom元素
    return  
        终止一个函数 
        不管 return 后面还有没有代码 当程序进行到 return  都不再往下继续执行

        当 return 后面 有值时 这个函数有返回值
            值 可以是 数字 字符串 数组 对象 函数 布尔 等等
    自调用
        函数自己运行 可以创建一个 局部作用域
    闭包
        在外部函数内 定义一个内部函数  
        这个内部函数 会对 外部函数中声明的变量 进行操作
        并在 外部函数的外面 去调用这个内部函数
        所形成的闭合回路 叫 闭包
    递归
        在函数内部 调用自身函数 当其满足一定条件时 return
            递归 必须有 return
            标准案例:  去重 并保持原数组长度
    回调函数
        将函数作为一个参数 传递到另一个函数中
        并在特定的时机 于另一个函数内调用这个函数
            经典案例: 计时器 或 定时器
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容