zoukankan      html  css  js  c++  java
  • [学习笔记]Javascript的包装对象

    例子1:

    var s="test";
    s.len = 4;
    var t = s.len // t is undefined
    

    原因是s是字符串,第二行代码,实际上是创建一个临时字符串变量,并给其len属性赋值为4,第三行代码通过原始的字符串值创建一个新的字符串对象,然后再去读len属性,当然就没有了啦。

    例子2:

    var s ="hello,world";
    var word = s.substring(6,s.length);//"word"
    

    字符串不是对象,怎么会有属性呢?只要引用了字符串s的属性,Javascript就会将字符串值通过调用new Sring(s)的方式转化成对象,这个对象继承了字符创的方法。

    例子3:

    var s =  new String("javascript");
    var len = s.length; //len = 10
    

    这个属性显式地new了一个对象实例。

     ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    存取字符串,数字或者布尔值的属性时创建的临时对象称作包装对象,可以通过String(),Number()或Boolean()构造函数来显式创建包装对象。var s = "test"; n = 1; b = true;

    var S =  new String(s);
    var N = new Number(n);
    var B = new Boolean(b);
    
    s == S; //true
    n == N; //true
    b == B; //true
    
    s === S; //false
    n === N; //false
    b === B; //false
    typeof(s) //"string" typeof(S) //"object" typeof(n) //"number" typeof(N) //"object" typeof(b) //"boolean" typeof(B) //"object"

    Javascript会在必要时将包装对象转化成原始值。“==”等于运算符就将原始值和其包装对象看成相等,但“===”就得比较是否相同类型,相同值才行。 

      

  • 相关阅读:
    不可或缺 Windows Native (15)
    不可或缺 Windows Native (14)
    不可或缺 Windows Native (13)
    不可或缺 Windows Native (12)
    不可或缺 Windows Native (11)
    不可或缺 Windows Native (10)
    不可或缺 Windows Native (9)
    不可或缺 Windows Native (8)
    不可或缺 Windows Native (7)
    不可或缺 Windows Native (6)
  • 原文地址:https://www.cnblogs.com/fanbi/p/7202671.html
Copyright © 2011-2022 走看看