变量与基本数类型

JavaScript

2.01 - JavaScript的书写相关

  • JavaScript写在哪里?

    • script标签中

      • body结束标签之前

      • head标签中(window.onload)

    • .js 文件,通过script标签引入

  • 书写注意事项

    1. 严格区分大小写,大写字母与小写字母是完全不同的意义

    2. 英文半角下的标点字符

    3. 不能把,关键字,保留字(new var for..),作为标识符(变量名,函数名)

    4. 语句用分号结束

  • 从上至下的执行顺序

  • 相关名词

语句(statement):简单来说能够完成一个任务的操作,都是一条语句,每条语句一般以分号结束

表达式(expression):表达式的目的是为了得到一个返回值

变量(variable):是对值的引用,每一个变量都有一个对应变量名(容器)

标识符(identifier):识别具体对象的名称。变量名,函数名。是最常见的标识符

2.02 - 变量,基本数据类型,赋值

  • 变量

    • 变量是JavaScript里的一种容器,每个变量都已一个对应的变量名我们可以通过var关键字空格变量名的方式申明变量

      // 两个反斜杠为js里面的单行注释 多行注释与css里的注释一致/* */
      // 申明几个变量
      var a; // 变量 a
      var b; // 变量 b

      也可以这样一个 var 关键字同时申明多个变量

      
      var a,b; // 与上边等同并且逗号之后可以换行
    • 命名规范

      • 见名知意

      • 区分大小写

      • 可以使用 _ $ 或者以其开头,但是不能使用 - * / + = 等有特殊意义的符号

      • 可以使用数字但是不能用数字进行开头

      • 不能使用 关键字,保留字

        arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield

    • 那么问题来了

      • 容器里放什么东西?

      • 如何放到容器里?

      • 为什么要把它放在容器里面?

      • 容器里放的东西有什么限制,或者注意事项?

  • 基本数据类型

    • JavaScript中同样涉及到对于许多数据的操作,其大致可以有6种常见的数据类型

      • Nunber 数字

        1,2,3,4,5 ... NaN

      • String 字符串

        "hello world!!"

      • Boolean 布尔值

        true false

      • function 函数

      • object对象

        {} , array , element , (null)...

      • undefined 未定义

      • (null) 空

    • typeof 是用于检测数据的数据类型的操作符,返回一个String

    • console.log() 控制台输出,常用于代码调试

      
      console.log(typeof 123);// number
      console.log(typeof "123");// String
      console.log(typeof true);// Boolean
      console.log(typeof {});// object
      console.log(typeof undefined);// undefined
      console.log(typeof null);// object
  • 赋值

    • 赋值是一条语句,它所做的操作是把一个值赋予变量,书写格式如下:

      
      var a;
      a = 10; // 把数字 10 赋值给变量 a
      console.log(typeof a); // number
      console.log(a); // 10
    • 赋值操作可以和变量声明同步进行:

      
      var a = 10; // 结果与分开赋值一致
    • 当出现莫名奇妙字符时:

      
      a;// Uncaught ReferenceError: a is not defined 

      但是同时进行赋值操作时:

      
      // 基本与 var 申明变量后使用一致,但是禁止这样做
      a = 10;
      console.log(typeof a); // numberr
      console.log(a); // 10
    • JavaScript中的变量中可以保存任意一种数据类型,并且同一变量可以被赋值多次,但是一次只能存储一个值,所以变量的值为最近一次被赋予的值:

      var a;
      console.log(a);// undefined
      
      a = "hello world!";
      console.log(a);// "hello world!"
      
      a = 10.5;
      console.log(a);// 10.5
    • 申明多个变量时的赋值方式

      
      var a = 10,
          b = "hello JavaScript",
          c = true;// 结尾处用分号结束
  • 弹窗,打印:你爱我吗?

    弹窗与打印都能够直观的输出抽象的数据,是JavaScript中最主要的调试手段,弹窗也可以进行一些简单的互动

    • 打印 console

      • 控制台直接输出:console.log( 任意数据类型 );

      • 代码执行时间输出:

        • 起始标记 - console.time("标识字符串");

        • 结束标记 - console.timeEnd("标记字符串");

    • 弹窗

      • 提示弹窗:alert( 任意数据类型 );

      • 选择弹窗:confirm( 任意数据类型 );

        带 确认 和 否定 按钮,点击后返回一个布尔值

      • 输入弹窗:prompt( 任意数据类型 );

        带一个单行输入框,返回输入的内容的字符串

    • document.write():向网页中追加内容

      • 直接加载时等同于在body之中添加内容

      • 当网页完全加载之后再调用该方法会覆盖原网页中所有的内容

  • 备注

    • 赋值的操作中,以赋值符号为分界线的执行顺序为从右到左,无法调换顺序,但是通常情况下右边依然是从左到右的顺序

    • 重复申明的变量视为只申明了一次

    • 任意位置申明的变量都会被提到该作用域的顶部:

      
      a = 10;
      alert(a);
      var a;

      等同

      
      var a;
      a = 10;
      alert(a);

2.03 - 运算符

  • 算数运算符:加减乘除 ...

    • 加,减,乘,除,模 :+,-,*,/,%

    
    console.log( 1+1 ); // 2
    console.log( 2-1 ); // 1
    console.log( 2*2 ); // 4
    console.log( 4/2 ); // 2
    console.log( 3%2 ); // 1
    • NaN(Not a Number):瞎运算的时候

      • isNaN():判断一个数据是不是NaN的方法,返回一个布尔值

      • NaN 与任何数据都不相等包括 NaN 本身

      • NaN 为number类型

    
    var a = 1 + undefined;
    console.log( a ); // NaN
    console.log( isNaN(a) ); // true
    console.log(NaN == NaN); // false
    console.log(typeof NaN); // number

  • 字符串拼接:加号(+)的兼职工作

    
    var str = "hellow";
    console.log( str + " " + "world" ); // "hello world"
    console.log("1" + "1"); // "11"
  • 赋值运算符:赋值和运算的工作我一起包啦!

    
    var a = 1;
    /* 普通运算:赋值与运算两步进行 */
    a = a * 1; 
    console.log(a); // 1
    
    /* 赋值运算:赋值与运算同时进行 */
    a *= 1; // 与普通运算:a = a * 1  一致
    console.log(a); // 1
    // 同时还有
    a += 1;
    a -= 1;
    a /= 1;
    a %= 1;
    
    • 自增,自减:++ 与 -- 的故事

    
    var a = 0;
    // 普通的方式
    a = a + 1; 
    a = a - 1; 
    // 赋值运算
    a += 1;
    a -= 1;
    // 究极 1:先返回值,再自增(自减)1
    a ++; 
    a --;
    // 究极 2:先自增(自减) 1 再返回值
    ++ a;
    -- a;
    

    ps:

    
        1. 只有自增(减) 1  才有简写方式   
        2. 不能直接对数字使用      1 ++  这样的写方法是错误的
  • 比较运算符

    • 用于比较运算符 左边 较 右边的值,返回一个布尔值

    • 普通比较:只比较值,不比较数据类型

    
    var a = 1 , b = "1";
    
    console.log( a == b );// true 相等
    console.log( a < b ); // false 小于
    console.log( a > b ); // false 大于
    console.log( a <= b ); // true 小于等于
    console.log( a >= b ); // true 大于等于
    console.log( a != b ); // false 不等
    • 全等比较:先比较数据类型,再比较值

    
    var a = 1 , b = "1";
    
    console.log( a === b );// false 全等
    console.log( a !== b ); // true 全不等

  • 逻辑运算符:如果你是一个程序猿 并且 长度没有26 那么你是一个单身狗~

    • 比较运算符两边的数据然后返回比较的结果

    • &&(与,并且),||(或,或者),!(非,取反)

    
    var
        job = "程序猿",
        len = 25;
    var bool = (job  == "程序猿") && ( len < 26 );
    console.log( "你是一个单身狗:" + bool )
    
  • 通过逻辑运算符的特性,我们可以做一些代替判断的事情


  // 设置默认值
  function fn(a){
    a = a || 0;
    console.log(a);
  }

  // 方法参数是否传入
  function fn1(argFn){
    argFn && argFn();
  }

  ​


猜你喜欢

转载自blog.csdn.net/chang_jie_518/article/details/80149841