爲什麼這回空操作對象的屬性:分配方法來屬性
var char = str.charAt(i);
char.isSpace = /\s/.test(char);
return char.isSpace;
雖然這會返回一個有效的布爾?
var char = str.charAt(i);
var isSpace = /\s/.test(char);
return isSpace;
爲什麼這回空操作對象的屬性:分配方法來屬性
var char = str.charAt(i);
char.isSpace = /\s/.test(char);
return char.isSpace;
雖然這會返回一個有效的布爾?
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
什麼是'str'定義爲? – millerbr
顯示全功能定義 – RomanPerekhrest
@millerbr'str'被定義爲一個字符串 @RomanPerekhrest我不明白爲什麼這與回答有關將方法分配給對象屬性的理論問題有關。 – Andrew