![](/img/trans.png)
[英]typeof a == 'undefined' vs typeof a === 'undefined'
[英]Odd results with typeof and undefined
請向我解釋一下,為什么我得到0
而不是5
?
內部HTML文件:
<script>
var x = 5;
</script>
<div id="dv"></div>
里面的JS文件:
$(function () {
if(typeof x == 'undefined') {
var x = 0;
$("#dv").html(x);
} else if (x == 5) {
$("#dv").html(x);
}
});
我在這里想念什么?
$(function () {
var x;
if(typeof x == 'undefined') {
x = 0;
$("#dv").html(x);
} else if (x == 5) {
$("#dv").html(x);
}
});
因此x
永遠不等於undefined
因此永遠不會將其設置為0
。 請注意,變量x
在你的功能是不同的變量,該變量x
的頁面。 這是因為腳本中的變量已封閉到函數作用域中。
如果我正確理解了您的問題,我會這樣做:
<body data-x="5">
...
<div id="dv"></div>
$(function () {
var x;
if(typeof $('body').data('x') !== 'undefined') {
$("#dv").html($('body').data('x'));
} else {
$("#dv").html(0);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.