gpt4 book ai didi

javascript - 操作对象的属性 : assigning a method to a property

转载 作者:行者123 更新时间:2023-11-30 12:04:08 24 4
gpt4 key购买 nike

为什么返回null

    var char = str.charAt(i);
char.isSpace = /\s/.test(char);
return char.isSpace;

虽然这会返回一个有效的 bool 值?

    var char = str.charAt(i);
var isSpace = /\s/.test(char);
return isSpace;

最佳答案

var char = str.charAt(i);
// after this assignment char is a string (but not String Object)
char.isSpace = /\s/.test(char);
// 1. you can't assign a property to char, it's not an Object
// 2. if you could, you weren't assigning a method to char, but a value
return char.isSpace;
// so, char.isSpace is undefined

可以将方法分配给String(静态)或String.prototype,例如:

String.isWhitespace = function (str) {return /\s/g.test(str);}
var char = str.charAt(i);
String.isWhitespace(char); //=> true/false

String.prototype.isWhitespace = function () {return /\s/g.test(str);}
var char = str.charAt(i);
char.isWhitespace(); //=> true/false

关于javascript - 操作对象的属性 : assigning a method to a property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35749221/

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