zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    LeetCode 842. Split Array into Fibonacci Sequence
    LeetCode 1087. Brace Expansion
    LeetCode 1219. Path with Maximum Gold
    LeetCode 1079. Letter Tile Possibilities
    LeetCode 1049. Last Stone Weight II
    LeetCode 1046. Last Stone Weight
    LeetCode 1139. Largest 1-Bordered Square
    LeetCode 764. Largest Plus Sign
    LeetCode 1105. Filling Bookcase Shelves
    LeetCode 1027. Longest Arithmetic Sequence
  • 原文地址:https://www.cnblogs.com/utrustme/p/8547596.html
Copyright © 2011-2022 走看看