Blogger Information
Blog 17
fans 0
comment 0
visits 14807
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
js基础知识:变量与常量,函数及参数
未来星
Original
942 people have browsed it

一、js引入方式

js的引入方式有3种,分别是行内脚本内部脚本外部脚本

1、行内脚本:

在实现简单操作时可以把脚本直接写在html标签行内实现。

  1. <button onclick="alert('大家晚上好!');">Click</button>

2、内部脚本:

使用script标签直接把js脚本写在html文档内,供本文档直接调用。

  1. <button onclick="lookme()">Click</button>
  2. <script>
  3. function lookme() {
  4. alert("HI 大家晚上好!");
  5. }
  6. </script>

3、外部脚本:

把js脚本单独写进一个.js文件,在需要使用它的html文档中引用即可,同时也实现了多文档共享js脚本。

  1. <button onclick="lookme()">Click</button>
  2. <script src="lookme.js"></script>

二、变量与常量

1、变量:

变量在js内实现数据的传递与共享。使用let关键字声明,变量的值可以修改更新。变量名字通常使用驼峰式命名方式(组合词语的第二个单词首字母大写)。

  1. // 声明
  2. let userName;
  3. console.log(userName); // undefined
  4. // 第一次赋值: 初始化
  5. userName = "刘一手";
  6. console.log(userName);
  7. // 第二次赋值: 更新,修改
  8. userName = "王二丫";
  9. console.log(userName);
  10. // 删除变量:赋值null
  11. userName = null;
  12. console.log(userName);
  13. // 推荐声明时直接初始化
  14. let price = 99;
  15. price = 199;

2、常量:

常量的数据是保持不变的。使用const关键字声明,因为不能更改,须声明时直接赋值。名字通常全大写,多个单词之间使用下划线。

  1. // 因为常量不能被更新,所以声明时必须赋值(初始化)
  2. const GENDER = "female";
  3. console.log(GENDER);

3、标识符:

可由字母、数字、下划线、$组成,并且禁止数字开头, (违规写法如123abc, abc@123),严格区分大小写。

三、函数

函数是一个可重用的代码块,用来完成某个特定功能。每当需要反复执行一段代码时,可以利用函数来避免重复书写相同代码。

1、命名函数:

使用function关键字来声明函数,为函数命名一个名字,便于反复调用。

  1. //每个函数都要有返回结果,函数都是单值返回
  2. // 声明
  3. function getName(name) {
  4. return "welcome to: " + name;
  5. }
  6. // 调用,按名
  7. console.log(getName('大牛'));
  8. // 函数允许重写
  9. function getName(name) {
  10. return "欢迎: " + name;
  11. }
  12. // 返回多个值,使用数组或对象
  13. function getUser() {
  14. return [10, "admin", "admin@qq.com"];
  15. }
  16. function getUser() {
  17. return { id: 10, username: "admin", email: "admin@qq.com" };
  18. }
  19. console.table(getUser());

2、匿名函数:

匿名函数就是将一个函数的声明做为值赋值给一个变量或常量,没有命名,通常用这个变量或常量来引用这个函数。先声明再引用。

  1. let sum =function (a,b) {
  2. return a + b;
  3. };
  4. //通过变量来引用
  5. console.log(sum(1,6));

3、高阶函数:

使用函数做为参数或者将函数做为返回的函数,为高阶函数。

  1. //例1
  2. function demo(f) {
  3. return function () {
  4. return "abc";
  5. };
  6. }
  7. //例2
  8. let sum = function (a, b) {
  9. return function (c, d) {
  10. return a + b + c + d;
  11. };
  12. };
  13. let f1 = sum(1, 2);
  14. // f1是一个函数
  15. console.log(typeof f1);
  16. console.log(f1(3, 4));

柯里化函数,是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数(把接受参数打散,一个函数接受一个)。 在有些参数需要复用或者需要延迟运行时会用到。

  1. // 柯里化
  2. sum = function (a) {
  3. return function (b) {
  4. return function (c) {
  5. return function (d) {
  6. return a + b + c + d;
  7. };
  8. };
  9. };
  10. };
  11. let res = sum(1)(2)(3)(4); //这种方法可以直接输入多个参数
  12. console.log("res =", res);

四、函数的参数

函数的参数分为:必选参数,默认参数,归并参数。

1、必选参数:

在调用函数时必须要输入的参数。

  1. // 必选参数
  2. let sum = function (a, b) {
  3. return a + b;
  4. };
  5. console.log(sum(1, 2));

2、默认参数:

函数声明时为其中参数设置了默认值,在调用时可以不输入该参数。

  1. sum = function (a, b = 10) {
  2. return a + b; //参数b声明时已经赋值,为默认值
  3. };
  4. console.log(sum(1));
  5. console.log(sum(1, 15));

3、归并参数:

rest语法,将所有参数压到一个数组中来简化参数的获取过程。

  1. //例1
  2. let sum = function (...arr) {
  3. let t = 0;
  4. for (let i = 0; i < arr.length; i++) {
  5. t += arr[i];
  6. }
  7. return t;
  8. };
  9. console.log(sum(1, 2, 3, 4, 5, 6, 7));
  10. //例2 ,简化例1写法
  11. let sum = function (...arr) {
  12. // 使用reduce()简化
  13. return arr.reduce((p, c) => p + c);
  14. };
  15. console.log(sum(1, 2, 3, 4, 5, 6, 7));

五、箭头函数的语法

匿名函数,可以使用箭头函数来简化它。

  1. let sum = function (a, b) {
  2. return a + b;
  3. };
  4. // 匿名函数,可以使用箭头函数来简化它
  5. sum = (a, b) => {
  6. return a + b;
  7. };
  8. console.log(sum(10, 20));
  9. // 如果箭头函数的代码体只有一行语句,可以删除大括号,自带return 功能
  10. sum = (a, b) => a + b;
  11. // 如果只有一个参数,连参数列表的圆括号 都可以删除
  12. let tips = (name) => console.log("欢迎: " + name);
  13. tips("小马");
  14. // 如果函数中要使用到this,就不要用箭头函数,不能当构造函数用

六、立即执行函数的语法

立即执行函数: 声明调用二合一, 声明后直接执行。语法格式为(函数)(参数)

  1. (function (a, b) {
  2. console.log(a + b);
  3. })(100, 600);
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
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