gpt4 book ai didi

javascript - 在 String.prototype 中使用 'this'

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:32 26 4
gpt4 key购买 nike

<分区>

对于各种 javascript 应用程序,我经常使用我编写的一个名为 isBlank() 的小函数:

isBlank = function(text) {
while(text[0] == ' ') text = text.substr(1);
return (text === '');
}

这个函数所做的就是删除输入字符串开头的所有空格,然后返回 true 或 false(如果结果为空或不为空)。所以我尝试将这个函数做成String原型(prototype)如下:

String.prototype.isBlank = function() {
while(this[0] == ' ') this = this.substr(1);
return (this === '');
}

但是,当您尝试以下操作时,原型(prototype)版本会出现“无效的左手分配”错误:

"      ".isBlank();

ReferenceError: Invalid left-hand side in assignment

我想这个问题源于我在 while 循环中重新分配“this”对象这一事实,但由于我仍在学习 java 脚本,我想知道是否有人能够更详细地解释为什么会这样原型(prototype)不起作用。我对这个问题的理论方面更感兴趣,而不是对如何将 isBlank() 函数变成满足我要求的字符串原型(prototype)感兴趣。

谢谢!

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com