您能指出这段代码中的错误吗?
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 的类型。
最佳答案
top
是 reserved 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/