在作用域范围内第一次赋值的地方x=1就等同于var x=1。
这里,我要补充一点。就是在函数中省略var进行赋值的时候。并不完全等于加上var的情况。
也就是说,在“函数中”,x=1不等于var x = 1
区别是x=1是在全局范围内声明一个x变量。这个函数被调用后,全局范围内,就多了一个x变量。
var x = 1,是在函数范围内声明一个x变量。出了这个函数就不可见了。
排除这种混乱的方法,就是不要省略var
1、用js实现这样的功能纯粹就是浪费性能,不划算,最好用css来实现;
2、用css设置超出省略非常简单
.text{
width: 300px
overflow: hidden
white-space: nowrap
text-overflow: ellipsis
}
3、如果你实在想用js来实现这样的效果,那么,有两种方法:
先获取dom的宽度,判断宽度是不是大于预设的宽度,如果大于,就删掉最后的几个字,然后继续判断;
获取dom的宽度,如果宽度大于预设值,就用js改变dom的css样式。
函数as()根本没有执行。所以你应该这样写:<script type="text/javascript">
function as(){
num=1
}
function bs(){
as()
alert(num)
}
alert(num)
</script>