Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
html/javascript如何知道属性是布尔值而不是字符串_Javascript_Jquery - Fatal编程技术网

html/javascript如何知道属性是布尔值而不是字符串

html/javascript如何知道属性是布尔值而不是字符串,javascript,jquery,Javascript,Jquery,在以下标记中: <a href="#;" data-is_male="true">Male</a> <a href="#;" data-is_male="false">Female</a> javascript如何知道值true是一个布尔值,而不是字符串?普通JS不会将“false”解析为false,“true”是truthy,因此可以想象它最终会变成1 但是,jQuery将数据属性解析为布尔值,表示真/假字符串 console.log(typ

在以下标记中:

<a href="#;" data-is_male="true">Male</a>
<a href="#;" data-is_male="false">Female</a>
javascript如何知道值true是一个
布尔值
,而不是
字符串

普通JS不会将“false”解析为false,“true”是truthy,因此可以想象它最终会变成1

但是,jQuery将数据属性解析为布尔值,表示真/假字符串

console.log(typeof document.querySelector(“[data-is\u-male]”)。getAttribute(“data-is\u-male”))
console.log(typeof$(“[data-is\u-male]”)。data(“is\u-male”))

普通JS不会将“false”解析为false,“true”是truthy,因此可以想象它会以1结尾

但是,jQuery将数据属性解析为布尔值,表示真/假字符串

console.log(typeof document.querySelector(“[data-is\u-male]”)。getAttribute(“data-is\u-male”))
console.log(typeof$(“[data-is\u-male]”)。data(“is\u-male”))


@VladislavLadicky,但使用“每次尝试都会将字符串转换为JavaScript值(包括布尔值、数字、对象、数组和null)。”啊,这是jQuery。然后,JavaScript什么都不知道。数据集中返回的任何内容都是字符串,但jQuery@VladislavLadicky但是对于“每次尝试都会将字符串转换为JavaScript值(包括布尔值、数字、对象、数组和null)。”啊,这是jQuery。然后,JavaScript什么都不知道。DataSet中返回的任何东西都是字符串,但是JQuelyReld可以自由删除我的编辑,如果你认为它没有增加价值。请阅读我的部分并考虑升级你的答案,因为我认为这将有助于未来读者。有趣的是,这导致了一个下注-从2011A被称为DUPE是一个DUPE是一个DUPE。这项功能从那时起就没有改变2011@mplungjan我已经得到了你的支持:如果你认为它没有增加价值,DFeel可以免费删除我的编辑。请阅读我的部分并考虑升级你的答案,因为我认为它会有助于未来读者。有趣的是这导致了一个失败的投票。这项功能从那时起就没有改变2011@mplungjan我的投票结果是:D
var isMale = $(this).data('is_male');