Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Javascript JS parseInt()问题_Javascript_Jquery - Fatal编程技术网

Javascript JS parseInt()问题

Javascript JS parseInt()问题,javascript,jquery,Javascript,Jquery,我知道我可能做错了什么。有人能指出我为什么要把top作为对象吗 $(document).ready(function(){ topwithpx='0px'; alert(topwithpx); topstr=topwithpx.substr(0,topwithpx.length-2); alert(topstr); top=parseInt(topstr); alert(top); });​ 谢谢大家:“top”是保留的关键字Window.top

我知道我可能做错了什么。有人能指出我为什么要把top作为对象吗

$(document).ready(function(){
    topwithpx='0px';
    alert(topwithpx);
    topstr=topwithpx.substr(0,topwithpx.length-2);
    alert(topstr);
    top=parseInt(topstr);
    alert(top);
});​
谢谢大家:“top”是保留的关键字Window.top。我的错。接受第一个ans.+1对所有人进行快速ans.

,因为它本质上是window.top,即。改为使用var top以防止将局部变量与窗口对象的全局=属性混合

事实上,将函数变量的变量化成为一个常见的例程,以防止将来出现类似的问题

因为它本质上是window.top,即。改为使用var top以防止将局部变量与窗口对象的全局=属性混合

事实上,将函数变量的变量化成为一个常见的例程,以防止将来出现类似的问题

window.top是DOM 0的一部分,无法分配数字

避免使用全局变量。用var定义它们的范围

window.top是DOM 0的一部分,无法分配数字

避免使用全局变量。用var定义它们的范围

top是窗口对象的默认属性。将变量命名为其他名称。

top是窗口对象的默认属性。将变量命名为其他名称。

无需使用substr删除px。parseInt将为您执行以下操作:

topwithpx='0px';
var top = parseInt(topwithpx);
alert(top);  //alerts "0"
您不需要使用substr来删除px。parseInt将为您执行以下操作:

topwithpx='0px';
var top = parseInt(topwithpx);
alert(top);  //alerts "0"
top是窗口的只读属性,但可能所有其他大型浏览器也是如此

只需将top更改为类似topInt的其他内容。另外,使用var来声明变量,例如var topInt=parseInt。。。。如果不使用var,则默认情况下使用window属性,因此是只读行为

顺便说一句,使用console.log而不是alert会更好一些。top是窗口的只读属性,但可能所有其他大型浏览器也是如此

只需将top更改为类似topInt的其他内容。另外,使用var来声明变量,例如var topInt=parseInt。。。。如果不使用var,则默认情况下使用window属性,因此是只读行为

顺便说一下,使用console.log而不是alert会更好一些。top是一个javascript窗口属性。 通过这样做,您可以使用top作为变量

var top = ...
top是一个javascript窗口属性。 通过这样做,您可以使用top作为变量

var top = ...
您缺少变量的delcaration



您缺少变量的delcaration

您能将您的问题包括在这个问题中吗?否则它会很快关闭。从你的小提琴上,我得到top的值为0。你的问题是什么?我也建议你看看JsLint,它会指出像这样的问题和其他问题。谢谢编辑mike@尼瓦斯:真的吗?在我的chrome浏览器中,我将[object Window]作为第三个弹出窗口。请在chrome.Unrelated中尝试,但不要忘记parseInt中的基数参数-如果不这样做,您可能会得到一些意外的结果。您能在这个问题中包含您的问题吗?否则它会很快关闭。从你的小提琴上,我得到top的值为0。你的问题是什么?我也建议你看看JsLint,它会指出像这样的问题和其他问题。谢谢编辑mike@尼瓦斯:真的吗?在我的chrome浏览器中,我将[object Window]作为第三个弹出窗口。请在chrome.Unrelated中尝试,但不要忘记parseInt中的基数参数-如果不这样做,可能会得到一些意外的结果。top不是一个。@jbabey,但它是一个标准窗口属性,只能用于读取,请参见。top不是一个。@jbabey,但它是一个标准窗口属性,您只能将其用于读取,请参见。隐藏全局变量不是一个好建议,您永远不应该命名变量top。谢谢您的帮助。我的错。没错+1为每个人提供快速回复。@jbabey因为什么?当JS解析器试图确定变量的值时,它总是从最低的局部范围开始。我确实同意使用top而不是window.top不是一个好主意,但是,如果您处理该属性的话。@raina77ow隐藏是一种不好的做法,但这是一个意见问题。隐藏全局变量不是一个好建议,您永远不应该命名变量top。谢谢。我的错。没错+1为每个人提供快速回复。@jbabey因为什么?当JS解析器试图确定变量的值时,它总是从最低的局部范围开始。我确实同意使用top而不是window.top不是一个好主意。不过,如果您处理该属性,则使用top。@raina77ow阴影是一种不好的做法,但这是一个意见问题。top不是保留字top不是保留字@jAndy它是对窗口的引用,而不是当前窗口。是的,这是当前窗口对象的属性。我有点困惑。窗口中的top在FF中返回true,但Object.getOwnPropertyNames窗口;根本不显示那个属性。另一方面,Chrome通过getOwnP正确地获取top和self属性
ropertyNames@jAndy它是对窗口的引用,而不是对当前窗口的引用。是的,这是当前窗口对象的属性。我有点困惑。窗口中的top在FF中返回true,但Object.getOwnPropertyNames窗口;根本不显示那个属性。另一方面,Chrome通过GetownPropertyNames正确地获取了top和self属性。这是关于我将要发布的内容:请看。谢谢。我的错。没错+这是关于我将要发布的内容:请看。谢谢你的帮助。我的错。没错+为每个人提供1个快速回复。