zoukankan      html  css  js  c++  java
  • 你不知道的JS系列 ( 28 ) - 内置对象

    JavaScript 还有一些对象子类型,通常被称为内置对象
    String
    Number
    Boolean
    这三个内置对象的名字看起来和简单基础类型一样,实际上它们的关系更复杂
    Object
    Function
    Array
    Data
    RegExp
    Error
    这些内置函数可以当作构造函数来使用,从而构造一个对应子类型的新对象
    var strPrimitive = 'I am a string';
    typeof strPrimitive; // string
    strPrimitive instanceof String; // false
    
    var strObject = new String('I am a string');
    typeof strObject; // Object
    strObject instanceof String; // true
    
    // 检查 sub-type 对象
    Object.prototype.toString.call(strObject); // [object String]

    从代码中可以看到,strObject 是由 String 构造函数创建的一个对象。

    原始值 'I am a string' 并不是一个对象,它只是一个字面量,并且是一个不可变的值,如果要在这个字面量上执行一些操作,比如获取长度,访问其中某个字符等,需要将其转换成 String 对象。
    var strPrimitive = 'I am a string';
    console.log(strPrimitive.length); // 13
    console.log(strPrimitive.charAt(3)); // 'm'

    可以直接在字面量上访问属性和方法,是因为引擎自动把字面量转换成 String 对象。数字字面量,布尔字面量也是如此

  • 相关阅读:
    2015第46周六
    2015年第46周五
    2015第46周四
    2015第46周三
    自己写shell命令pwd
    IOS成长之路-Nsstring搜索方法rangeOfString
    【Nginx】epoll事件驱动模块
    深入了解回调函数Java
    VS2008下直接安装Boost库1.46.1版本号
    oracle在schema是什么意思?
  • 原文地址:https://www.cnblogs.com/wzndkj/p/12501624.html
Copyright © 2011-2022 走看看