var x=7;
console.log(typeof x);
// number
var x="7";
console.log(typeof x);
// string
var doh = "Doh";
console.log(typeof doh.toUpperCase);
// function
在第三个示例中.toUpperCase
返回字符串,其typeof
返回函数?
有人可以解释原因吗?
答案 0 :(得分:5)
只有 private static void XDocumentLINQ()
{
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<Project Guid=""9e9a67f8"" Name=""GameThings"" Version=""1.7"">
<Subsystems>
<Values Name=""Thing1"">
<Values Name=""Stuff1"" Type=""int"" Value=""0"" />
<Values Name=""Stuff2"" Type=""int"" Value=""5"" />
</Values>
<Values Name=""Thing2"">
<Values Name=""Top"" Type=""int"" Value=""10"" />
<Values Name=""Bottom"" Type=""int"" Value=""15"" />
</Values>
</Subsystems>
<OtherSystems>
<Values Name=""Thing3"">
<Values Name=""Stuff3"" Type=""int"" Value=""0"" />
<Values Name=""Stuff4"" Type=""int"" Value=""5"" />
</Values>
</OtherSystems>
</Project>";
XDocument doc = XDocument.Parse(xml);
var elements = doc.Descendants("Project").Elements("Subsystems").Elements("Values").Where(x=>x.Attribute("Name").Value == "Thing2").Elements("Values");
foreach (XElement elem in elements)
{
Console.WriteLine(elem.Attribute("Name").Value + " value is: " + elem.Attribute("Value").Value);
}
Console.ReadKey();
}
的结果是一个字符串,但toUpperCase
本身就是一个函数。你实际上必须执行它,就像这样
toUpperCase
例如,
console.log(typeof doh.toUpperCase());
// string
答案 1 :(得分:0)
String.prototype.toUpperCase()
toUpperCase()
方法返回转换为大写的调用字符串值。
typeof
运算符返回一个表示操作数类型的字符串,typeof doh.toUpperCase
为function
。