JavaScript知识点总结

50 阅读5分钟

变量:

变量的使用分为两步:

                               (1)声明变量 var

                                (2)赋值 

变量的初始化: 声明一个变量并完成赋值。

一个变量被重新赋值后,它原有的值就会被覆盖,变量以最后一次赋值为准。

Tips: 同时声明多个变量名,只需要一个var,变量之间用“逗号”隔开。

eg: var a = 1, b = 2, c = 3;   (一次性声明多个变量,变量初始化)

变量的命名规范: 由字母、数字、下划线、美元符号($)组成。

Tips:严格区分大小写,不能以数字开头,不能是关键字、保留字,变量名必须要意义,遵守驼峰命名法,首字母小写,后面单词的首字母大写。

数据类型:

JavaScript是一种弱类型或者说是动态语言,不用提前声明数据的类型。

JS的数据类型分为两类:

                         (1) 简单的数据类型: {number、 string、 boolean、 undefined、 null}

                            (2)   复杂的数据类型: {object}

数字前面加‘0’表示八进制;数字前面加‘0X’表示十六进制。   

字符串型(string): 字符串可以是引号中的任意文本,其语法为“双引号”和‘单引号’。

字符串的转义字符:\n-换行符; \t-tab缩进。

字符串的length属性可以获取整个字符串的长度。

字符串之间的运算:数值相加,字符相连。

布尔型(boolean): true 和 false。

未定义数据类型(undefined):如果一个变量声明未赋值。

undefined和数字相加最后的结果是NaN。

获取数据类型:typeof可以用来获取检测变量的数据类型。

prompt 取过来的值字符型的。

数据类型的转换:

                          (1) toString ( )

                            (2)   string() 强制转换

                          (3) 加号拼接字符串

数字类型的转换:

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

                            (2) parseFloat (string) 将string类型转换成浮点数数值

                            (3) number() 强制转换函数
(4) JavaScript隐式转换   运算(+,-,*,/,  %)

布尔类型的转换:

                             (1) 代表否定的值会被转换为false,   “0,NaN, null, undefined”

                             (2) 其余值都转换为true

递增和递减运算符:

递增(++)、递减(--)既可以放在变量前面,也可以放在变量后面。

递增和递减运算符必须配合变量使用。

Tips: (1)前置自增(++i) 和后置自增(i++)如果单独使用,效果是一样的。

           (2) 前置递增(++i):先自加1,后返回值。

           (3) 后置递增(i++):先返回原值,后加1。

逻辑运算符短路运算:

  当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式。

逻辑运算符的优先级:一元运算符里面的逻辑非优先级很高,逻辑与比逻辑或优先级高。

JavaScript的流程控制:

流程控制:  (1) 顺序流程控制

                   (2) 分支流程控制

                   (3) 循环流程控制

if -else语法结构

if(条件表达式) {
    执行语句1
}else {
    执行语句2
}

switch语法结构

switch (表达式) {
     case value1:
     执行语句1;
     break;
     case value2:
     执行语句2;
     break;
     ...
     default:
     执行最后的语句;
}

Tips:(1)表达式经常写成变量

          (2) 如果当前case中没有break,则不会退出switch,继续执行下一个case

          (3) 变量的值和case里面的值相匹配的时候是全等(值和数据类型一致)

switch结构通常处理分支较多,结构比较清晰。分支较少则用if。

for循环的语法结构

for (初始化变量; 条件表达式; 操作表达式) {
          循环体     
}

双重for循环语法结构

for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式) {
           for (内层的初始化变量; 内层的条件表达式; 内层的操作表达式 {
               执行语句
             }
}

外层的循环执行一次,里面的循环全部执行。

经典案例(九九乘法表):

 <script>      var str = "";      for (var i = 1; i <= 9; i++) {        for (var j = 1; j <= i; j++) {          str += j + "×" + i + "=" + i * j;        }        str += "\n";      }      console.log(str);  </script>

while 循环的语法结构

while (条件表达式) {
         循环体
}

do while循环的语法结构

do {
  循环体
}while (条件表达式)

do while先执行一次循环体,再判断条件,最少执行一次。

while先判断后执行;do while先执行一次,再判断。

coutinue 关键字

用于立即跳出本次循环,继续下一次循环。

break 关键字

用于立即跳出整个循环(循环结束)。

JavaScript的数组:

数组是一种将一组数据存储在单个变量名下的优雅方式。

1.利用new创建数组

 var 数组名 = new Array();

2.利用数组字面量创建数组

var 数组名 = [ ];

数组之间的数据元素一定要用逗号隔开。

数组可以存放任意数据类型。

数组的索引:

索引(下标)用来访问数组元素的序号(数组下标从0 开始)

数组可以通过索引来访问、设置、修改对应的数组元素。

遍历数组:把数组中的每个元素从头到尾都访问一次。

筛选数组:

冒泡排序是一种算法,把一系列的数据按照一定的顺序进行数据排列(一次比较两个元素)

JavaScript函数:

函数就是封装了一段可以重复执行的调用的代码块,就是让代码重复执行。

声明函数,调用函数

function 函数名(形参1,形参2) {  //函数不调用,代码不执行
        函数体
}
函数名(实参1,实参2//调用函数

Tips: (1)形参可以看做是不用声明的变量。

           (2)多个参数之间用逗号隔开。

return 语句

function 函数名() {
        return 需要返回的结果
}

break, coutinue, return 的区别:

break:结束当前的循环体。

coutinue: 跳出本次循环,继续执行下次循环。

return: 不仅退出循环,还能返回return语句中的值,同时还可以结束当前的函数体内的代码。

所有的函数都内置了arguments对象(2020.12.16号复习)

函数的两种:

(1)利用函数的关键字定义函数

(2) 函数表达式(匿名函数)

var 变量名 = function () {
       函数体
}

作用域: 限定名字的可用性的代码范围就是这个名字的作用域,提高程序的可靠性,减少命名冲突。

作用域分为全局作用域和局部作用域。