js代码答疑

作者 : phpacg 本文共479个字,预计阅读时间需要2分钟 发布时间: 2018-04-24 共172人阅读

var left=eval(div1.style.left.replace(“px”,””))的意思?

整行的意思是获取一个数值并赋给变量left。

eval()表示执行括号里的内容,接受字符串直接量作为参数,假设不是字符串则直接前往。

div1应该是一个dom元素。

div1.style.left是访问dom元素的计算样式中定位位置left的值,获取到的值为字符串类型,带单位,如’0px’,下面以该值为例。

replace是JS中String对象的方法,下面获取到的是字符串,所以可以运用replace方法。

replace方法接受两个参数,第一个是要婚配的内容,本例为婚配‘px’,第二个参数是交流目的值,本例为空字符串,行将‘px’交流为‘’,相当于去掉‘px’,经过此操作,获取的内容从’0px’变为‘0’,类型是字符串。

以上操作结果变为:var left = eval( ‘0’ );

eval是把字符串里的内容拿出来计算,eval( ‘0’ )等于是拿0来计算,不是拿字符串’0’来计算,结果是前往0。所以eval(‘0’)的结果是数值0。

最终将数值0赋值给变量left。

常见问题FAQ

发表评论

提供最优质的资源集合

立即查看 了解详情