javascript - 尝试找出动态类型时出错

标签 javascript arrays

您能指出这段代码中的错误吗?

var top = "800px";
var pos = top.indexOf('px');
top = top.substring(0,pos);
console.log(top);
top+=5;
console.log(top);
top+="px";
console.log(top);

无论我使用什么,它都不会编译,我正在尝试检查它是否会在操作过程中更改 top 的类型。

最佳答案

topreserved variable name您无法覆盖它指向最上面的窗口。

只需将变量名称更改为其他名称,例如 topPos 即可:

var topPos = "800px";
var pos = topPos.indexOf('px');
topPos = topPos.substring(0,pos);
console.log(topPos);
topPos+=5;
console.log(topPos);
topPos+="px";
console.log(topPos);

但是,top 仅保留在全局范围中,因此将代码包装在函数内也可以解决该问题:

function run() {
  var top = "800px";
  var pos = top.indexOf('px');
  top = top.substring(0,pos);
  console.log(top);
  top+=5;
  console.log(top);
  top+="px";
  console.log(top);
}
run();

关于javascript - 尝试找出动态类型时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37423458/

相关文章:

javascript - 我如何知道页面是否真的完全加载?

c - C语言中的二进制数相加

javascript - 带有序数轴的 dc.js 条形图

javascript - 声明类 - 是否共享实例

javascript - 将 Javascript 注入(inject) Chrome 扩展中新创建的选项卡

javascript - 带有数字键的对象无论如何都会发送所有以前的数字

c++ - 将列表分成相等的部分?

python - 值错误: can only convert an array of size 1 to a Python scalar for Numpy Select

python - Numpy 广播数组

javascript - jQuery 选择具有特定类的目标表单中的输入元素