账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    有沒有什麼方法可以實現 更改 'string'.__proto__ ?
    51
    0

    有沒有什麼方法
    可以修改目前字串的 proto 而不會去修改到 String.prototype.split

    class UString extends String
    {
        split()
        {
            console.log('UString:split');
            return ['UString:split'];
        }
    }
    
    const STR = '♥️?典そこで彼らは\'",オリーブ山と呼ばれる山からエルサレムに帰った。';
    
    {
        let str = STR.toString();
    
        // 原始
        console.log(1, str.split());
    }
    
    {
        let str = STR.toString();
    
        // 此段代碼 = 無效
        str.__proto__ = Object.assign({}, {
            split: UString.prototype.split,
        });
    
        console.log(2, str.split());
    }
    
    {
        let str = STR.toString();
    
        // 此段代碼 = 無效
        str.__proto__ = UString.prototype;
    
        console.log(3, str.split());
    }
    
    {
        let str = STR.toString();
    
        // @FIXME 雖然成功了 但是請看下一段
        str.__proto__.split = UString.prototype.split;
    
        console.log(4, str.split());
    }
    
    {
        let str = STR.toString();
    
        // @BUG 這裡會出錯 因為修改 str.__proto__ 等於修改 String
        console.log(5, str.split());
    }
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • .飛〇 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部