JS-Basic

本文主要结构

JS-Basic_第1张图片
文章结构.png

任务

  • JavaScript基础练习
  • JavaScript集合练习

JavaScript基础练习学到的主要知识点

  • JavaScript的主要环境
  • (这是我在学习当中的一个难点)如何定义函数,如何调用函数:函数名、函数参数(感觉和C语言的函数有点像)
    如:function arr(x){ ... }:
    function指出这是一个函数定义
    arr是函数名称
    (x)括号内列出函数的参数,多个参数以,分隔
    { ... }之间的代码是函数体,可以包含若干语句,甚至可以没有任何语句
  • 函数调用,比如function arr(x){ ... }也可以写为
    var abs = function (x){ ... };
    在这种方式下,function (x) { ... }是一个匿名函数,它没有函数名。
    但是,这个匿名函数赋值给了变量abs,所以,通过变量abs就可以调用该函数
    注意这种方式结尾处不要少了逗号
  • 其次是变量的作用域:
    1. 在函数内部定义变量时,严格遵守“在函数内部首先申明所有变量”这一规

    2.局部作用域:由于js的变量作用域实际上是函数内部,在for循环等语句块中
    是无法定义具有局部作用域的变量的,如该列代码是不可行的:
    for (let i=0; i<100; i++)
    所以为了解决块级作用域,用let替代var可以申明一个块级作用域的变量:
    for (let i=0; i<100; i++)
  • 声明常量:
    var PI = 3.14;或者
    const PI = 3.14;/const与let都具有块级作用域/
  • 方法(刚开始看着这个还在纳闷它要讲什么方法:学习方法?)
    1.在一个对象中绑定函数,称为这个对象的方法。
    绑定到对象上的函数称为方法(对象的定义和C语言中的结构体声明方法很相似
    2.在一个方法内部,this是一个特殊变量,它始终指向当前对象。比如
    该列代码:
    var xiaoming = {
    name: '小明',
    birth: 1990,
    age: function () {
    var y = new Date().getFullYear();
    return y - this.birth;
    }
    };
    /其中this始终指向当前对象,也就是xiaoming这个变量/
  • 作用域的覆盖问题,当子作用域有变量与父作用域重名的时候,在子作用域里只能访问到子作用域的变量。称之为 覆盖
    var x = 5;
    function a(x){
    console.log(x); //这时访问的x就不是父作用域的x了,而是参数 x
    }
    a(6); //打印的是6
    console.log(x); //打印的是5
  • 常见错误:
    1.for(var i = 0; i < 3; i++){
    var result = [];
    result.push(i);
    }
    /console.log(result); //有的初学者以为这里会打印 [0,1,2],实际上会
    打印[2],因为result是在for里面被定义的, 每次循环都被重新初始化了。
    /
    2.for(var i = 0; i < 3; i++){
    let result = [];
    result.push(i);
    }
  /*console.log(result); //Uncaught ReferenceError: x is not     
  defined,因为result是在for里面被定义的, 外面访问不到。
  3.var result = [];
    for(var i = 0; i < 3; i++){
    result.push(i);
    console.log(result); //有的初学者以为这里会在循环结束后打
   印,实际上每一次循环console.log都会被执行
  }
  /**
   * 上面这些代码执行的结果是:
   * [0]
   * [0,1]
   * [0,1,2]
   **/

我的Github地址

https://github.com/tengjiuying/Basic-JS

JS-Basic_第2张图片
图片.png

JavaScript的集合练习

  • (这是practice的地址)
    https://github.com/tengjiuying/JavaScript-Basic-practice/tree/master/pre-pos-master
  • basic-practice
    主要是对JavaScript中数组、对象以及字符串的操作

个人总结:

  • 首先还是对JavaScript的语法熟练程度不够,以及各个函数参数的调用,函数的处理,每个函数参数的作用域,能够作用的范围这些方面。每次写的时候总是会忘记一些东西,然后反复回去看
  • 后期要通过不断的练习来提高对JS的语法、语句的掌握程度

你可能感兴趣的:(JS-Basic)