• JS类型


    一.JS中的数据类型

    1.分类(2大类)

    • 基本(值)类型
      • Number: 任意数值
      • String: 任意文本
      • Boolean: true/false
      • undefined: undefined
      • null: null
    • 对象(引用)类型
      • Object: 任意对象
      • Array: 特别的对象类型(下标/内部数据有序)
      • Function: 特别的对象类型(可执行)

    2.判断

    • typeof:
      • 可以区别: 数值, 字符串, 布尔值, undefined, function
      • 不能区别: null与对象, 一般对象与数组
    • instanceof
      • 专门用来判断对象数据的类型: Object, Array与Function
    • ===
      • 可以判断: undefined和null

    3.图表展示

    (1)基本/值类型

    方式类型描述
    typeof Number 任意数值
    typeof String 任意字符串
    typeof Boolean true/false
    typeof/=== undefined undefined
    === null null

    (2)对象/引用类型

    方式类型描述
    typeof/instanceof Object Object
    instanceof Array 数组
    typeof Function 函数

    补充:

     1     <script>
     2     
     3     var a = {"name":"a"};
     4     var b = {"name":"b"};
     5     console.log(a.toString());  //[object Object]
     6 
     7     var t={};
     8     t[a] = 4;
     9     t[b] = 5;
    10     console.log(t[a]);   //5
    11     
    12     </script>

    其中t[a]相当于t[a.toString()]变为了t["[object object]"],b也一样此时值就被修改了。

    4.对象使用属性什么时候使用点号什么时候使用中括号:

    注意:两种写法不同:

    • 点号:obj.key
    • 中括号:obj["key"]或obj['key']
    1     var obj = {
    2       name: "obj",
    3       age: 1
    4     }
    5 
    6     console.log(obj.name);   //obj
    7     console.log(obj["name"]);//obj
    8     console.log(obj['name']);//obj

    (1)点号可以使用的情况下中括号一定可以使用,反之中括号可以使用点号则不一定可以使用

    当对象的键值为数字时不能使用obj.1而是使用obj["1"]

    1 var obj={
    2   0:"0",
    3   1:"1",
    4   2:"2"
    5 }
    6 console.log(obj["1"]);
    7 //console.log(obj.2)会报错

    当对象的键值需要进行拼接时不能使用点号,而是使用中括号

    1 var obj={
    2   a0:"0",
    3   a1:"1",
    4   a2:"2"
    5 }
    6 for(var index=0;index<3;index++){
    7   console.log(obj["a"+index]);
    8 }

    (2)当属性为变量者特殊字符时使用中括号

    当属性为变量时,中括号会将变量调用toString()方法:b.toString() = "x" ==> a[b]==a["x"]

    1 var b = "x";       //把属性x的标识符名作为字符串存储在变量b中
    2 var a = {x : 1};   //定义对象a
    3 console.log(a[b]);  //返回1。通过变量间接获取对象a的属性x的值
    4 console.log(a.b);  //返回undefined。点运算符无法识别变量引用

    特殊的:

    1       let symbol = Symbol();
    2       console.log(typeof symbol);
    3       console.log(symbol);
    4 
    5       let obj = {username: 'kobe', age: 39};
    6       obj[Symbol.iterator] = function(){};  //不规则或特殊的属性
    7       console.log(obj);

  • 相关阅读:
    各IDE快捷键
    java的GUI之SWT框架 JavaFX框架 配置开发环境(包含但不限于WindowBuilder完整教程,解决Unknown GUI toolkit报错,解决导入SWT包错误)
    20180314 一个浮点数问题
    20180309 算最近新的感悟吧
    20171228 C#值类型和引用类型
    20171129 ASP.NET中使用Skin文件
    20171123初学demo爬去网页资料
    20171018 在小程序页面去获取用户的OpenID
    20171018 微信小程序客户端数据和服务器交互
    20171012 动态爬虫爬取预约挂号有号信息
  • 原文地址:https://www.cnblogs.com/zhihaospace/p/11992568.html
Copyright © 2020-2023  润新知