JavaScript 应用技巧集合[推荐](4)

'index.jsp?page='+encodeURI('/page/home.jsp'); // "index.jsp?page=https://www.jb51.net/page/home.jsp" 'index.jsp?page='+encodeURIComponent('/page/home.jsp'); // "index.jsp?page=%2Fpage%2Fhome.jsp"

因此,在对URL进行编码时我们经常会选择 encodeURIComponent。


table.innerHTML在IE下是只读属性
我们经常通过节点的innerHTML属性来填充节点,比如:

复制代码 代码如下:

<div> </div>

复制代码 代码如下:

document.getElementById('container1').innerHTML = "Hello World!";

但是在IE下设置table.innerHTML将会导致错误:

复制代码 代码如下:

<table> </table>

复制代码 代码如下:

// works well in Firefox, but fail to work in IE document.getElementById('table1').innerHTML = "<tr><td>Hello</td><td>World!</td></tr>";

实际上,table, thead, tr, select等元素的innerHTML属性在IE下都是只读的。

那么如果动态的创建一个table呢,下面提供了一种可行的方法:

复制代码 代码如下:

<div> </div>

复制代码 代码如下:

document.getElementById('table1').innerHTML = "<table><tr><td>Hello</td><td>World!</td></tr></table>";



0.1+0.2 != 0.3
JavaScript将小数作为浮点数对待,所以可能会产生一些四舍五入的错误,比如:

复制代码 代码如下:

0.1 + 0.2; // 0.30000000000000004

你可以通过toFixed方法指定四舍五入的小数位数:

复制代码 代码如下:

(0.1 + 0.2).toFixed(); // "0" (0.1 + 0.2).toFixed(1); // "0.3"

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjysyg.html