笔记

您所在的位置:网站首页 js基本语法特点 笔记

笔记

2023-10-01 05:08| 来源: 网络整理| 查看: 265

javascript语法结构 1. if语句 条件成立执行代码,否则什么也不做 // 条件成立执行代码,否则什么也不做 if(条件表达式){ // 条件成立执行的代码语句 } 2. if…else语句(双分支语句) 条件成立 执行 if 里面的代码,否则执行 else 里面的代码 // 条件成立 执行 if 里面的代码,否则执行 else 里面的代码 if(条件表达式){ // [如果] 条件成立执行的代码 }else{ // [否则] 执行的代码 } 3. if…else if 语句(多分支语句) 适合于检查多重条件。 // 适合于检查多重条件。 if (条件表达式1) { 语句1 ; } else if (条件表达式2) { 语句2 ; } else if (条件表达式3) { 语句3 ; ... } else { // 上述条件都不成立执行此处代码 } 4. 三元表达式 三元表达式 1. 由三元运算符组成的式子我们称为三元表达式 2. ++num 3 + 5 ? : 3. 语法结构 条件表达式 ? 表达式1 :表达式2 4. 执行思路 如果条件表达式的结果为真 则 返回 表达式1 的值 如果条件表达式的结果为假 则 返回 表达式2 的值。 // 三元表达式 // 1. 由三元运算符组成的式子我们称为三元表达式 // 2. ++num 3 + 5 ? : // 3. 语法结构 // 条件表达式 ? 表达式1 :表达式2 // 4. 执行思路 // 如果条件表达式的结果为真 则 返回 表达式1 的值 // 如果条件表达式的结果为假 则 返回 表达式2 的值。 // 5. 代码例子 var num = 10; var result = num > 5 ? '是的' : '不是的'; // 我们知道表达式是有返回值的 console.log(result); // 代码解释 // if (num > 5) { // return = '是的'; // } else { // result '不是的'; // } 5. switch 语句 1. switch 语句也是多分支语句 也可以实现多选一 2. 语法结构 switch 转换, 开关 case 选项的意思 // 1. switch 语句也是多分支语句 也可以实现多选一 // 1. 语法结构 switch 转换, 开关 case 选项的意思 switch(表达式) { case value1: 执行语句1; break; case value2: 执行语句2; break; ... default: 执行最后的语句; } 6. 循环结构 1. for 循环 for 循环主要用于把某些代码循环若干次,通常跟计数有关系。 // for 循环主要用于把某些代码循环若干次,通常跟计数有关系。 // 其语法结构如下: for (初始化变量; 条件表达式; 操作表达式 ) { //循环体 } 2. while 循环 1. while 循环语法结构 while 当 ... 的时候 2. 执行思路 当条件表达式结果为true 则执行循环体 否则, 退出循环体 // 1. while 循环语法结构 while 当 ... 的时候 // 2. 执行思路 当条件表达式结果为true 则执行循环体 // 否则, 退出循环体 while (条件表达式) { //循环体 } 3. do…while 循环 1. do ... while 循环 语法结构 2. 执行思路 跟while不同的地方在于do..while先执行一次循环体 再判断条件 // 1. do ... while 循环 语法结构 // 2. 执行思路 跟while不同的地方在于 // do..while先执行一次循环体 再判断条件 do { // 循环体 } while (条件表达式); 4. continue 跳出本次循环 continue 关键字 退出本次(当前次的循环) 继续执行剩余次数循环 // continue 关键字 退出本次(当前次的循环) 继续执行剩余次数循环 for (var i = 1; i continue; //只要遇见 continue就退出本次循环 } console.log('执行' +i+ '次循环'); } 5. break 跳出整个循环 break 关键字 用于立即跳出整个循环(循环结束) 7. 数组 数组(Array) : 就是一组数据的集合 // 创建数组 // 1. 数组(Array) : 就是一组数据的集合 // 2. 利用 new 创建数组 var arr = new Array(); //创建了一个空的数组 // 3. 利用字面量创建数组 [] var arr = []; 8. 函数 1. 函数的使用 函数的使用分为两步:声明函数 和 调用函数 1. 声明函数 // 1. 声明函数 // function 函数名() { // //函数体 // } function sayHai() { console.log('嗨嗨嗨嗨'); } // (1) function 声明函数的关键字 全部小写 // (2) 函数是做某件事,函数名一般是动词 sayHi // (3) 函数不调用自己不执行 2. 调用函数 函数名( ); sayHai(); // 调用函数的时候千万不要忘记加小括号 2. 函数传参 可以利用函数的参数实现函数重复不同的代码 // 2. 我们可以利用函数的参数实现函数重复不同的代码 function 函数名(形参1, 形参2, ...) { // 在声明函数的小括号里面是 形参 (形式上的参数) } 函数名(实参1, 实参2, ...) { // 在函数调用的时候,小括号里面的是实参 (实际的参数) } // 3. 形参和实参的执行过程 function play(pro) { console.log(pro); } play('乒乓球'); 3. 形参实参个数匹配 (1) 如果实参的个数等于形参的个数,则正常输出结果 (2) 如果实参的个数大于形参的个数,会取到形参的个数 (3) 如果实参的个数小于形参的个数, 形参可以看做是不用声明的变量 num2 是 一个变量但是没有接受值 结果是undefined // 3. 函数形参实参个数匹配 function getSum(num1, num2) { console.log(num1 + num2); } // (1) 如果实参的个数等于形参的个数,则正常输出结果 getSum(1, 2); // (2) 如果实参的个数大于形参的个数,会取到形参的个数 getSum(1, 2, 3); // (3) 如果实参的个数小于形参的个数 // 形参可以看做是不用声明的变量 num2 是一个变量但是没有接受值 结果是undefined getSum(1); //NaN 4. 函数的返回值形式 function 函数名() { return 需要返回的结果; } 函数名(); (1) 我们函数只是实现某种功能 最终的结果需要返回给函数的 调用者函数名() 通过return 实现的 (2) 只要函数遇见return 就把后面的结果 返回给函数的调用者 函数名() = return 都免的结果 代码例子: // 4. 函数的返回值形式 function 函数名() { return 需要返回的结果; } 函数名(); // (1) 我们函数只是实现某种功能,最终的结果需要返回给函数的 调用者函数名() // 通过return 实现的 // (2) 只要函数遇见return 就把后面的结果 返回给函数的调用者 // 函数名() = return 都免的结果 // 代码例子: function getResult() { return '憨憨'; } getResult(); // getResult = '憨憨' console.log(getResult()); //例: // 利用函数 求两个数的最大值 function getMax(num1, num2) { // if (num1 > num2) { // return num1; // } else { // return num2; // } return num1 > num2 ? num1 : num2; } console.log(getMax(1, 5)); console.log(getMax(11, 5)); 5. arguments 的使用 伪数组 并不是真正意义上的数组 1. 具有数组的 length 属性 2. 按照索引的方式进行存储的 3. 它没有真正数组的一些方法 pop() push() 等等 // arguments 的使用 function fn() { console.log(arguments); // 里面存储了所有传递过来的参数 console.log(arguments.length); } fn(1, 2, 3); // 伪数组 并不是真正意义上的数组 // 1. 具有数组的 length 属性 // 2. 按照索引的方式进行存储的 // 3. 它没有真正数组的一些方法 pop() push() 等等 9. 作用域 1. 作用域

在这里插入图片描述

1.1 块级作用域 现阶段js中没有块级作用域,只有全局作用域和局部作用域。 在es6 的时候新增的块级作用域。 块级作用域 {} 2. 变量作用域 2.1 变量作用域的分类

在这里插入图片描述

2.2 全局变量

在这里插入图片描述

2.3 局部变量

在这里插入图片描述

2.4 全局变量和局部变量的区别

在这里插入图片描述

3. 作用域链

在这里插入图片描述

10. 预解析

预解析 1. 我们js引擎运行js 分为两步:预解析 + 代码执行 (1). 预解析 js引擎会把js 里面的所有的 var 还有 function 提升 到当前作用域的最前面 (2). 代码执行 按照代码书写顺序从上往下执行 2. 预解析分为 变量预解析 (变量提升) 和 函数预解析 (函数提升) (1). 变来提升 就是把所有的变量声明提升到当前作用域最前面,不提升赋值操作 (2). 函数提升 就是把所有的函数声明提升到当前作用域最前面,不调用函数



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3