zoukankan      html  css  js  c++  java
  • JS中的基本包装类型

    想一下:为什么String类型的值可以调用某些方法和访问某些属性呢?

    在基本数据类型中有3个特殊的存在:String Number Boolean

    这三个基本类型都有自己对应的包装对象。包装对象,其实就是对象,有相应的属性和方法。调用方法的过程,是在后台偷偷发生的,所以我们称作为基本包装类型。

    //我们平常写程序的过程:
    var str = 'hello'; //string 基本类型
    var s2 = str.charAt(0); //在执行到这一句的时候 后台会自动完成以下动作 :
    //后台偷偷发生的
    ( 
     var _str = new String('hello'); // 1.创建String类型的一个实例
     var s2 = _str.chaAt(0); // 2 在实例上调用指定的方法,并且返回结给s2
     _str = null;  //    3.销毁这个实例
     ) 
    alert(s2);//h 
    alert(str);//hello
    

    在看一个例子

    var str = 'string';
    str.pro = 'hello';
    console.log(str.pro);
    

    当执行 str.pro = 'hello' 时,实际上内部创建了一个基本包装类型的实例,然后给这个实例的 pro 属性赋值为 hello,实例创建后马上销毁了,当下一次试图获取 str.pro 的值时,又会创建一个基本包装类型的实例,显然新创建的实例时没有 pro 属性的,为 undefined,所以最后输出 undefined 。

  • 相关阅读:
    一点一点学习GIt
    17-ajax向后端提交POST请求
    16-djongo中间件学习
    ES6快速入门
    15 Django组件——中间件
    导入Scrapy 项目报错:no module named scrapy
    slf4j + logback 输出日志:mybatis sql语句
    java实现链表
    Log4j2.xml的日志设置
    java多线程之生产者消费者经典问题
  • 原文地址:https://www.cnblogs.com/liu-di/p/11210012.html
Copyright © 2011-2022 走看看