JavaScript 初学习

  1. 序:
  2. 0.1 js是前端通用的脚本语言
  3. 0.2 分为内联脚本(写在事件属性总)、内部脚本(写在script中)、外部脚本(写在script:src属性中)

1.常量

  1. 1.1 使用const进行声明
  2. // 常量声明时就需赋值,后续不可更新
  3. const num=888;

2.变量

  1. 2.1 使用let进行声明
  2. // 变量声明
  3. let userName;
  4. // 声明并赋值
  5. let userName2="景云";
  6. // 更新
  7. userName2="景云 Plus";

变量和常量只能用字母、数字(不能以数字开头)、下划线;严格区分大小写;不得使用关键字可保留字。

3.函数

  1. 3.1 会被自动提升到顶部;可以被重写
  2. 3.2 函数的参数
  3. //其中a和b为必选参数
  4. let sum=function(a,b){
  5. return a+b;
  6. }
  7. console.log(sum(1,2));//结果为3
  8. // 可设置默认参数b
  9. sum=function(a,b=3){
  10. return a+b;
  11. }
  12. console.log(sum(1));//结果为4
  13. sum=function(a,b,c,d){
  14. return a+b+c+d;
  15. }
  16. console.log(sum(1,2,3,4));//结果为10
  17. // 归内参数:可将上面类似的函数简化其参数声明
  18. sum=function(...arr){
  19. return arr.reduce(function(a,z){
  20. return a+z;
  21. });
  22. }
  23. console.log(sum(1,22,3,4));//结果为30
  24. let params=[1,22,3,4];
  25. //扩展参数:...,用来简化函数的调用参数
  26. console.log(sum(...params));//结果为30
  27. 3.3 函数的返回值
  28. 函数的返回值都是单值,如果想返回多个值,可将结果封装到数组或对象中
  29. let getItems=function(){
  30. return [100,'phone',2333];
  31. }
  32. console.log(getItems());
  33. getItems=function(){
  34. return {id:100,name:'phone',price:2333};
  35. }
  36. console.table(getItems());

4.匿名函数

  1. 不可以提升;声明为常量即不可重写

5.箭头函数:用来简化匿名函数的声明,只有匿名函数才能用箭头函数

  1. // 将3.2中的sum函数改为箭头函数
  2. sum=(a,b)=>{
  3. return a+b;
  4. }
  5. console.log(sum(100,200));
  6. // 如果函数体只有一条语句,可不写return
  7. sum=(a,b)=> a+b;
  8. console.log(sum(100,200));
  9. // 只有一个参数,小括号也可以不写
  10. sum=a=> console.log(a);
  11. sum("aaa");
  12. // 如果没有参数,小括号不可以省略
  13. sum=()=>console.log("sss");
  14. sum();

6.闭包:能够访问自由变量的函数,理论上讲任何函数都是闭包。

  1. 例子,其中num为自由变量,b为参数变量,c为私有变量。
  2. let num=20;
  3. function a(b){
  4. let c=100;
  5. return b+c+num;
  6. }

7.高阶函数:使用函数为参数或者将函数作为返回值的函数

  1. 7.1 回调函数
  2. 7.2 偏函数:简化了声明时的参数声明
  3. 7.3 纯函数:完全独立于调用上下文,返回值只能受到传入的参数影响

8.立即执行函数 IIFE :声明完直接调用

  1. function sum2(a,b){
  2. console.log(a+b);
  3. }
  4. sum2(10,210);
  5. // 将上面的函数修改为立即执行函数
  6. (function(a,b){
  7. console.log(a+b);
  8. })(20,30);

更多相关文章

  1. JavaScript 中 call()、apply()、bind() 的用法
  2. 【Nest教程】实现一个简单的用户增删改查功能
  3. 【Nest教程】自定义拦截器处理处理响应数据
  4. Linq中带有迭代索引的Select扩展方法,为啥知道的人不多呢?
  5. 当模板方法遇到了委托函数,你的代码又可以精简了
  6. C#中方法的调用
  7. awk函数-摘自Linux Shell核心编程指南
  8. C++入门
  9. 剩余参数与参数引用及回调函数:array_map(), array_filter,array_

随机推荐

  1. 光标无法定位到网页输入框
  2. 浮动和边底问题
  3. HTML学习笔记--3
  4. 将图像从本地上传到tinyMCE
  5. 将PHP代码添加到.html文件
  6. ajax提交含有html数据时的处理方法
  7. 如何覆盖CSS类中的优先级?
  8. 前端学习——前端基础
  9. html5统计数据上报API:SendBeacon
  10. 如何将值发送到弹出窗口