服务与支持 |咨询热线 0931-8733767
  • 金城在线
  • 公司简介
  • 发展历程
  • 企业文化
  • 售后服务
  • 工作机会
  • 联系我们

js代码答疑

来源:发布时间:2018-2-5 10:17:21

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。


相关文章
  • 预约专家

    为您提供一对一解决方案
    立即预约
  • 售前咨询

    周一至周五9:00——17:30
    立即咨询
  • 联系方式

    13919049954

    全国7×24小时热线服务
  • 免费报价

    专属专业顾问1对1报价
    免费报价