• 《JavaScript 教程》读书笔记——第一章(入门篇)


    前言

      第一章,入门篇,内容如下

    1.导论  //什么是JS语言?为什么学习JS语言?第一个js
    2.历史  // 3.基本语法

    正文

      第一部分:导论

    什么是js语言?
      js是一种轻量级的脚本语言。脚本语言:指的是不能用于开发操作系统,只能用来编写控制其他大型应用(比如浏览器)的"脚本"
      js是一种嵌入式的语言。js的运行依赖宿主环境(比如:浏览器,服务器的node项目)
      js是一种对象模型语言。js主要是面向对象编程,当然也可以面向过程编程,总之:语言灵活,一个问题多种解决方案
      js核心语法简练。包含基本语法结构(操作符,语句等)&&标准库(具有各种功能的对象Date Math等)&&宿主环境提供的API(
          DOM类:操作网页的各种元素,Web类:实现互联网的各种功能,浏览器控制类)
    为什么学习js?
      1.操作浏览器的能力。可以这么理解,前端(操作浏览器的)语言就是js(本文有些不严谨的地方,请勿深究,如果为了深入研究,请参考原书)
      2.广泛的使用领域。 ①操作浏览器 ②Node ③操作NoSQL数据库 ④移动平台开发 ⑤越来越多的应用将js作为内嵌脚本语言 ⑥有一些项目js可以开发桌面应用 总之:很有价值
      3.易学。①有浏览器就能运行js程序 ②相比其他语言简单 ③与主流语言相似
      4.性能强大。①灵活的语法和表达能力 ②支持编译运行 ③事件驱动和非阻塞式设计
      5.开放性。不属于任何公司和个人,不存在版权问题
      6.社区支持和就业支持。学习资源丰富
    第一个js。
      打开浏览器控制台,执行一下代码
      function abc(a){
        console.log('Hello ' + a);
      }
      abc('宝贝');
      返回值为Hello 宝贝

      第二部分:历史  

      第三部分:基本语法

    1. 语句  //例如:var a = 1 + 3; 就是一个赋值语句; 其中 1+3 叫做表达式,
          //语句以分号结束,一个语句就代表一个语句结束。例如:var a = 1 + 3; var b = 'abc';
          //分号前面可以没有内容。例如: ;;; 指的是3个空语句
          //表达式不需要分号结束,因为用了分号就是语句。例如:1+3;就是一个没有任何意义的语句。
    2. 变量
        2.1 概念  //变量:是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。
             //例如:var a = 1; 首先:声明一个变量a,然后将数值1“赋值”给a, 以后引用变量a就会得到数值1。
                最前面的var是变量声明命令,它表示通知解释引擎,要创建一个变量a。
             //注意:js的变量名区分大小写,A和a是两个不同的变量。
             //程序运行步骤:先执行 var a; 然后执行 a = 1;
             //特殊情况:①只声明未赋值 var a; 那么调用a,返回 —— underfined
                   ②未声明只赋值 a=1;  那么语句照样有效,调用a,返回 —— 1;但建议写上var,因为如果不写,就会变成全局变量
                 ③未声明未赋值 a;   那么调用a,会报错;
    ReferenceError: a is not defined         //多个变量:多个变量声明,例如var a,b;就是声明了两个变量,其中逗号分隔。         //变量类型:js是一门动态类型语言,变量类型没有限制,可以随时更改类型。例如:var a=1;a=‘abc’;此案例,先给a赋值数值,然后赋值为字符串,也是可以的。
             //重复声明:重复声明,后面的声明无效。例如:var a = 1; var a = 2; 等同于var a=1;a=2;
      
    2.2 变量提升
          //js语言需要js引擎解读,js引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行的运行,造成了变量被提升到代码的头部,这就叫做变量提升。
          //例如:
              console.log(a); var a= 1;
              等价于 var a; console.log(a); a=1; 最后打印结果为undefined; 表示a已声明未赋值。
    3. 标识符
      // 标识符指的是用来识别各种值得合法名称,最常见的标识符就是变量名和函数名
        特点:①大小写敏感,a和A是不同标识符
           ②第一个字符可以是字母,下划线(_)及美元符号($)
           ③第二个及后面的字符可以是字母,下划线,美元符号,及数字
        举例:合法标识符 arg0 _tmp $elem π 中文标识符
           不合法标识符 1a 23   //第一位不能是数字
                  *** a+b -d //标识符不能包含+ - *等
           关键字和保留字不能做标识符:例如 var if for break等

    4. 注释
      //定义:源码中被js引擎忽略的部分就叫做注释,作用是对代码进行解释
      //两种 ① //这是单行注释
           ②  /*
                这是
                多行
                注释
              */
    区块
      //定义:js使用大括号,将多个相关的语句组合在一起,称为“区块”。
      //案例:{
            var a = 1;
          }
      //常见 for(){} if(){}
    6. 条件语句 //满足条件才执行的语句 6.1 if语句
          //举例 if(布尔值){语句} 
          //上述例子,如果布尔值为true,执行后面语句,反之不执行
      
    6.2 if...else结构
          //举例 if(布尔值){语句1}else{语句2}
          //上述例子,如果布尔值为true,执行语句1,反之执行语句2
          //延申 if(布尔值1){语句1}else if(布尔值2){语句2}else if(布尔值3){语句3}else{语句4}
    6.3 switch结构
          //定义:当满足xx条件时执行xx,多用于多个if的情况下
          //案例:
      

           //注意:上述代码表达式x和case后面的表达式做比较时,采用的是严格相等运算符(===),不是相等运算符(==) 

    6.4 三元运算符 ? : 
        //语法 条件 ? 表达式1 : 表达式2
        //解释: 如果“条件”为true,则返回表达式1,如果为false,则返回表达式2
        //案例:
    var msg = '数字' + n + '是' + (n % 2 === 0 ? '偶数' : '奇数');
    7. 循环语句 
        //定义:满足某条件,循环执行语句
    7.1 while 循环
        //语法:while(条件){语句};
        //举例:var i = 0; while(i<100){console.log(i); i=i+1;}
        //解释:如果i<100执行区块内的语句,打印i,i+1;等i变为100时终止循环。
        //注意:循环条件如果始终为true,那么就会无限循环,容易造成浏览器卡死
    7.2 for循环
        //语法:for(语句1;语句2;语句3){被执行的代码块}
        //解释:语句1 -> 循环(代码块)开始前执行的语句,只执行一次
            语句2 -> 定于运算循环(代码块)的条件,每轮循环开始时判断一次
            语句3 -> 在循环(代码块)已被执行后执行,每轮循环结束后执行一次
        //举例: for(var i=0;i<3;i++){console.log(i)}
        //解释:声明变量i赋值0,当i<3的时候,打印i,然后i加1,然后循环
    7.3 do...while循环
        //类似while循环,区别是先执行一次循环体,再判断循环条件
        //语法: do{语句}while(条件);

     7.4 break语句和continue语句 

        //相同点:都具有跳转作用,可以让代码不按既有的顺序执行
        //不同点:break -> 跳出循环
             continue -> 终止本轮循环,进行下一轮循环
        //举例1:for(var i=0;i<5;i++){if(i===2){break};console.log(i)}    返回//0 1
        //举例2:for(var i=0;i<5;i++){if(i===2){continue};console.log(i)}  返回// 0 1 3 4
    7.5 标签(label)
        //定义: js语言允许,语句的前面有标签,相当于定位符,用于跳转到程序的任意位置。
        //语法: 标签:语句;
        //举例:①标签和break配合使用
        ②标签和continue配合使用

      

     8.参数链接

    https://wangdoc.com/javascript/basic/grammar.html

    回顾

    ------------恢复内容结束------------

  • 相关阅读:
    网易云信Duilib开发实践和Windows应用界面开发框架源码开源介绍
    WebRTC 之ICE浅谈
    如何做好 Android 端音视频测试?
    技术详解:实现互动直播全过程
    视频直播技术:最大限度保障流畅性和清晰度
    Python 爬虫之request+beautifulsoup+mysql
    Python之Mysql实战
    Python多线程的效率
    Python 调用Jenkins API自动化发布服务(完整版)
    Python爬虫之request +re
  • 原文地址:https://www.cnblogs.com/xihailong/p/13305053.html
Copyright © 2020-2023  润新知