第五天

151 阅读3分钟

Day 5 JS

ES6和JS什么关系?

  • ES就是ECMAScripts,6就是第六个版本.ES是一种标准规范
  • 其实现在都有ES10,但是为什么只听说ES6呢?因为其他都是只小版本跟新.而且就算ES6了,但是还是有很多浏览器不支持,只支持ES5,ES6反而在node上用的比较多

JS的书写位置

  • 内嵌(可以在body也可以在head)

    • <script type="text/javascript">
      				alert("JS是解释型语言")
      			</script>
      
    • 从上往下执行代码

  • 外链

    • <script src="" type="text/javascript" charset="utf-8"></script>
      
    • 引入其他路径下的JS文件,就是常见的JS文件夹

  • 调试运行

    • 直接到浏览器的控制台运行

语法规则

JS对换行 缩进 空格 分号都不敏感(不严格要求)

  • 虽然分号会自动加上,但是最好加上

注释

单行注释//

多行注释/* */

输出

  • 弹窗输出alert(尽量少用原生弹框)

  • 控制台输出(都可以在F12控制台看到)

    • console.log()
    • console.error()
    • console.warn()
  • 弹框输出,带确定取消按钮(尽量少用原生弹框)

    • confirm()
      • 会返回true或者false,就可以根据这个来写判断if
  • 弹框输出,带输入框的,也带确定取消按钮(尽量少用原生弹框)

    • promt()
  • 前面两种都可以通过var 变量名来赋值给这个变量

项目·将第一个弹框的值和第二个弹框的值相加,并输出在页面上

变量

变量的命名与声明提升

  • 字面量:即常量,包括数字和字符串

  • 变量:用于保存字面量,并且是可以任意改变的

  • 变量的定义和赋值:var a = 777;

    • 通过关键字var来声明一个变量
      • 关键字是有特殊功能的词语,关键字后面一定要有空格
    • 也可以只声明而不赋值:var b;
  • 变量名称的限制

    • 必须以$、_、字母这三者开头
    • 区分大小写
    • 保留字不允许做变量名(可以百度了解)
    • 默认的全局变量不能做变量(如window、document等)
    • 变量名不能用空格
  • 如果没有用var进行赋值,会在全局创建一个变量

    • 直接c = 666
    • 当然平时肯定是要加上var的,但有时候也是可以用到全局变量的
  • 变量名的命名

    • 驼峰命名法
      • var getNum = 3;
      • var getElementName
  • 变量声明的问题

    • var c;console.log(c),这个时候会输出undefined
    • 而如果直接console.log(sdf),这时候会报错undefined,因为没有声明这个变量
  • 变量声明提升

    • 我们知道代码是从上往下执行的,但如果是先console.log(e),下一行再写var e的话,是不会报undefined的错误的,
    • 因为在解释执行JS之前,会有个预编译的过程,会将变量声明提升到了前面
    • 不过如果下一行是 var e = 2333;的话就会报错,因为赋值是不会提升的