• JavaScript基础知识——变量类型与计算


    一、变量类型与计算

    Q:1、JavaScript中使用typeof能得到那些类型?

      undefined,string,number,boolean,object,function

      2、何时使用'==='与'=='?

    //仅有这种情况使用'=='
    if(obj.a==null){
      //此时条件相当于obj.a===null||obj.a===undefined,简写形式
      //这是jQuery源码中推荐的写法
    }

      此外,全部建议使用'==='

      3、JavaScript的内置函数有哪些?

      Object,Array,Boolean,Number,String,Function,Date,RegExp,Error

      4、JavaScript变量按照存储方式分为那些类型,描述一下特点。

      分为值类型和引用类型,值类型可以将数据分块存储在内存中,但是引用类型是多个变量共用一个内存块,引用类型的赋值是指定了一个内存地址,并不是真正的值的拷贝,它们之间是会相互干预的。

      5、如何理解JSON?

      JSON是JavaScript的一个内置对象

    JSON.stringify({a:10,b:20}) //将对象转换为字符串
    JSON.parse('{"a":10,"b":20}') //把字符串转换为对象

    (1)值类型与引用类型

      a、值类型

    // 值类型
    var a = 100;
    var b = a;
    a = 200;
    console.log(b); //100

      b、引用类型

    // 引用类型
    var a = { age: 20 };
    var b = a;
    b.age = 21;
    console.log(a.age);// 21

      值类型能存储各自的值,不会相互影响。a变量存的是100,将b赋值为a的时候,b存储的也是100。引用类型(对象、数组、函数)指向某个内存空间地址。变量a、b都指向某个内存空间地址,当声明变量b,并赋值为a的时候,其实是把a的引用地址,赋值给了b。{age:20}是一份,当执行b.age = 21的时候,a.age也是21。

     (2)、typeof运算符详解

      

    typeof undefined;//undefined
    typeof 'abc'; //string
    typeof '123; //number
    typeof NaN; //number
    typeof true; //boolean
    typeof {}; //object
    typeof []; //object
    typeof null; //object
    typeof console.log; //function

      typeof不能详细区分引用类型(对象、数组)的详细类型,但是可以详细区分function以及所有值类型。

    (3)、字符串拼接

    var a = 100 + 10; //110
    var b = 100 + '10'; //10010
    100 = '100' ;//true
    0 == ''; //true
    null == undefined; //true

    (4)、if语句

    var a = trueif ( a ) {
     //....执行
    }
    var b = 100;
    if ( b ) {
    //....执行
    }
    var c = ''
    if ( c ) {
    //....不执行
    }

    (5)、逻辑运算符

    console.log(10 && 0) //0  转换为true&&0
    console.log(''||'abc') //abc  转换为false||'abc'
    console.log(!window.abc) //true  !undefined为true
  • 相关阅读:
    测试工作效率低思考和改进
    Linux环境变量配置方法
    Linux上error while loading shared libraries问题解决方法
    PyCharm工具配置和快捷键使用
    Linux chattr和lsattr命令使用方法
    PuTTY工具配置和使用方法
    Python+AutoIt实现界面工具开发
    我对测试工作的一些认识
    Windows终端工具_MobaXterm
    Cygwin工具安装和使用指导书
  • 原文地址:https://www.cnblogs.com/utrustme/p/8547596.html
Copyright © 2020-2023  润新知