zoukankan      html  css  js  c++  java
  • JS-包装对象

    1、字符串、数字、布尔值不是对象,为什么会有属性呢?例如:

    1 var s = "test";
    2 var len = s.length;//4,使用字符串的属性

    因为只要引用了字符串s的属性,JavaScript就会将字符串值通过调用new String(s)的方式临时转换成对象,属性引用结束,临时对象销毁。

    例如以下代码,对字符串s设置属性会失败:

    1 var s = "test";
    2 s.len = 4;
    3 var t = s.len;// undefined

    同样,数字和布尔值也具有各自的构造函数创建临时对象:Number()、Boolean()。在存取字符串、数字或布尔值的属性时创建的临时对象称作包装对象

    注:null和undefined没有包装对象,访问它们的属性会造成一个类型错误。

     2、可通过String()、Number()、Booolean()构造函数来显示地创建包装对象:

    1 var s = "test",n = 1,b = true; // 一个字符串、数字和布尔值
    2 var S = new String(s); // 一个字符串对象
    3 var N = new Number(n); // 一个数值对象
    4 var B = new Boolean(b); // 一个布尔对象
    5 
    6 // 但是这两种方法并不是总是相等的,例如
    7 s==S; // true
    8 s===S; // false
  • 相关阅读:
    [BUUCTF 2018]Online Tool
    [ZJCTF 2019]NiZhuanSiWei 1
    [极客大挑战 2019]PHP
    [De1CTF 2019]SSRF Me
    2018网鼎杯 Fakebook
    [CISCN2019 华北赛区 Day2 Web1]Hack World
    SUCTF checkin
    强网杯 高明的黑客
    GYCTF Ezsqli
    GYCTF 盲注【regexp注入+时间盲注】
  • 原文地址:https://www.cnblogs.com/fydxx/p/6026933.html
Copyright © 2011-2022 走看看