Blogger Information
Blog 14
fans 0
comment 0
visits 7484
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
2022.11.01第十四课:js变量和函数的学习
启动未来
Original
442 people have browsed it

js第一课:变量和函数的学习

一.笔记

js代码主要的成员有两个:一是变量;二是函数
js中表达式后面的分号可选;

1.变量的命名规则

  • 不能以数字开头;
  • 可以是下划线、字母、$、数字组成;
  • 使用时一般用小驼峰法,即首字母小写,后面单词的首字母大写;

2.标识符命名风格和规范:

  • 驼峰法
    • 小驼峰法:首单词首字母小写,后面的所有单词的首字母大写,常用于 变量、属性、函数的命名,例:getUserName
    • 大驼峰法:标识符所哟单词的首字母均大写,常用语构造函数、类的命名,例:UserModel
  • 蛇形命名法
    • 小蛇:标识符的单词均小写,每个单词之间用一个下划线隔开,用的极少,例:user_name
    • 大蛇:标识符的所有单词的所有字母均大写,主要用于常量的命名,例:APP_PATH等.

二. 变量的声明和使用

js中的变量的标识方式有三个关键字:const\let\var
ES6以及之后,尽量弃用var;

1.命名方式一const用法

  • const一般用于变量和常量的声明;
  • 第一次声明时候,就必须赋值
  • 不能重复声明,不能更新,以后不能更改
  • 方便后续的复用;
  • const声明的变量不能提升,也就是不能在声明之前使用它,否则会出现undefined
  • 例:
  1. const username = 'php中文网';
  2. console.log(username);

2.命名方式二let用法

  • let一般用于块作用域变量的声明;
  • let声明的变量不能提升,也就是不能在声明之前使用它,否则会出现undefined
  • 不能在同一作用域内,重复用let声明同一变量,不能更新,以后不能更改;
  • 可以让浏览器运行时强制保持变量不变
  • 例:
  1. {
  2. let sum1 = 'php';
  3. let sum2 = '中文网';
  4. let sum3 = sum1 + sum2;
  5. console.log(sum3);//结果为`php中文网`
  6. }
  7. console.log(sum1);//输出引用错误:ReferenceError: sum1 is not defined

3.命名方式三var用法

  • ES5及之前的js只有一种变量声明方式那就是用var,但是var声明方式在实际应用中有很多弊端,主要有以下几个方面:
    • 变量提升,也就是可以在变量声明之前使用它;
    • 可以声明块级和全局变量
    • 可以重复声明,即可以更新;
    • 函数内部不使用var关键字声明的变量默认是全局作用域;

4.变量声明方式三var的三大硬伤

  • 声明提升:未声明即可使用;
  • 例:
  1. console.log(v1);//结果不报错,但是undefined
  2. var v1 = 10;
  • 重复声明:声明式更新很奇葩
  1. var v2 = 10;
  2. var v2 = 5;
  3. console.log(v2);//结果为5;
  • 变量泄露:不支持代码块
  1. {
  2. var v3 = 5;
  3. console.log(v3);
  4. }
  5. console.log(v3);//也输出5,代码块外面同样可以调用v3的变量值,造成代码泄露.

三.函数的声明

函数是可以复用的代码块,是js中代码的重要组成部分,js中常见的函数有四种:命名函数\匿名函数\箭头函数\立即执行函数

1. 命名函数

  • 语法:
  1. function funName(p1,p2,p3...){
  2. //funbody
  3. }
  • 其中参数p1,p2,p3…可选,例:
  1. function sum1(a,b){
  2. return 'a+b='+(a+b);
  3. }
  4. //函数调用funName(p1,p2,p3...)
  5. console.log(sum1(a,b));//输出结果7
  • 命名函数的声明提升,函数未声明也可以调佣,例:
  1. console.log(sum1(1,2));//输出结果3
  2. function sum1(a,b){
  3. return 'a+b='+(a+b);
  4. }

2. 匿名函数

  • 匿名函数就是没有名字的函数
  • 例:
  1. const fun1 = function (3,4){
  2. return a + b;
  3. }
  4. console.log(fun1(3,4));//结果为7

3.箭头函数

  • 箭头函数是匿名函数的语法糖和简写形式
    例:上栗可以修改为
  • 把function去掉,在大括号和参数小括号中间加上胖箭头即可:
  1. const fun2 = (a,b) => {return( a + b};
  2. console.log(fun2(5,6));//结果为11
  • 箭头函数的变种1:函数体只有一条return语句(表达式)
  • 上栗可以修改为:
  1. const fun3 = (a,b) => a + b;
  2. console.log(fun3(7,8));//结果为15
  • 箭头函数的变种2:参数只有一个,包括参数的()也可以省略,例:
  1. const fun4 = a => a + 10;
  2. console.log(fun4(9));//结果为19

—-注意:箭头函数和匿名函数的最大区别是,箭头函数没有自己的this;

4.立即执行函数(IIFE)

  • 立即执行函数就是声明之后,立刻要求有结果输出的函数类型
  • IIFE: 一次性,常用作模块或封装
  • 一个语法,用 (…) 包住 就转为”表达式”,例:
  1. const fun5 = (function(a,b)
  2. {return a +b}(10,11)
  3. );
  4. console.log(fun5);//结果为21
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:总结的非常好, 清晰明了, 只是下次提交作业需要在我的课程作业中提交:https://www.php.cn/member/courses/work.html
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post