学习计划

注:

  • 早(7:00-11:00)
  • 午(13:30-16:00)
  • 晚(19:00-23:00)

第四周

日期 复习内容 完成度
5月26日 前端认知、编辑器、 HTML基础 HTML基础 HTML基础 100%
5月27日 浏览器,JS发展史,ECMA 编程语言,JavaScript概念,线程,引用 变量、JS值,堆栈 编程语言,变量声明,原始值,引用值 70%
5月28日 语法、规范、错误、运算符 判断分支、注释, 循环 循环,运算题 80%
5月29日 显示类型 隐式类型 作业 typeof,显式隐式所有结果 90%
5月30日 函数基础 函数种类,形参,实参 映射,变量类型 return,形实参 100%
5月31日 递归 预编译,暗示全局变量 AO,GO AO,GO练习题 100%

知识整理:

  • null作用:初始化组件,销毁函数

  • 栈内存:先进后出

  • 原始值数据是永久保存且不可改变的

  • 引用值存储在栈内存指向堆内存地址

  • 错误分为:语法问题和通用问题

  • 运算符优先级:括号运算 > 普通运算 > 赋值

  • 字符串拼接,任何数据类型的值 + 字符串 = 字符串

  • a++先打印后运算,++a先运算赋值再打印

  • number比较string,string先转化成number再进行比较

  • string比较string,寻找对应ASCII码的十进制数字对比,多个字符的,从左到右依次对比,直到比较出ASCII码的大小为止

  • 相等是不看数据类型的,全等需要看数据类型是否相等的

  • NaN与包括自己在内任何东西都不相等

  • &&两边都必须满足条件即可

  • ||两边有一边满足条件即可

  • 有值范围的或者条件是多个的用if语句恰当

  • 定值或者多个以上的用switch语句比较好

  • 假包括:undefinednullNaN空格0false,其余的都为真

  • &&核心:遇到真就往后走,遇到假或走到最后就返回当前的值

  • ||核心:遇到假就往后走,遇到真或者走到最后就返回当前的值

  • do while语句:无论条件是否成立都要先执行\

  • 任何typeof的typeof的结果都为string

  • Number()字符串,undefined转化为NaN,对布尔值先转化为0或1再转化为数字

  • parseInt()把一个数转化整形,对true,false,null,字符串undefined都转换为NaN

  • parseInt()不管布尔值是否先转换为1,而是直接整形为NaN

  • parseInt()如果是字符串开头得到的是NaN,数字开头得到截取数字开头的数字

  • parseFloat()保留小数

  • Stirng()toString()都是将数据类型转为string

  • undefinednull没有toString()方法

  • toString(radix)可以填写进制参数,以十进制为基础转化为目标进制

  • Boolean()除了null,false,undefined,NaN,0,空格其余为真

  • 隐式:加号会将字符串转为数字

  • 隐式:字符串拼接会隐式将数字转变为字符串再拼接

  • 乘除余减都会由string转number的过程

  • 遇到比较运算符先转换为number

  • 全等===不进行数据类型转换

  • undefinednull并不是一个数据类型

  • isNaN()可以判断是否为 非数字,都需要先进行Number()再判断

  • 函数是解耦的方式

  • 占位 -> 形式上占位 -> 形式参数 -> 形参

  • 实际参数 -> 实参 -> 给占位符赋值

  • arguments.length是实参长度

  • functionName.length是形参长度

  • 函数内部是可以更改实参的值

  • 若有实参传值函数内部可以修改实参的值,反之不能修改

  • return:函数内部没有写returnJS引擎会默认隐式加上

  • return:函数内部return下面的语句是不会执行的

  • return后面接数据会返回相应的数据值

  • 函数内部能访问外部变量

  • 外部不能访问函数内部变量

  • 每个函数都有自己独立的作用域

  • 封装的函数都都有入口(参数)和出口(返回值)

  • 函数声明是要整体提升到逻辑代码的最上方,变量只有声明提升,赋值不提升

  • 变量未被声明就赋值,该变量就为全局变量(暗示全局变量体现)

  • 在全局下,不管声明变量与否,都会挂在window对象里面

  • 访问对象(window)里面不存在的属性默认是undefined

  • 预编译步骤:检查通篇的语法错误,预编译的过程,解释一行执行一行

  • 在整篇JS执行之前就产生了全局上下文GO步骤:寻找变量声明(包括函数表达式声明),寻找函数声明赋值函数体,执行函数

  • 函数预编译AO其实是函数执行之前要进行的步骤:寻找函数形参和变量声明(包括函数表达式声明),将实参的参数值赋值给形参,寻找函数声明赋值函数体,执行函数

  • AO函数上下文内部若找到变量的值优先输出而不是向外找全局变量的值

重难点:

  • NaNtypeof(NaN)返回的是number

  • NaN:打印0/0返回的是NaN

  • 递归:函数自己调用自己,找规律找出口