js代码答疑

网站建设知识 phpacg 2年前 (2018-04-24) 121次浏览 0个评论

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。

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址