JavaScript 代码问题

JavaScript06

JavaScript 代码问题,第1张

self:this, 这里的this,是window对象,而不是你期待的htmlBlacklistHint。而在type、info、IP里面的this,才是htmlBlacklistHint!所以self:this完全是画蛇添足的,把type、info、IP里面的self都改为this就OK了!

您如果想用好这个函数要明白这个函数的特性:

如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

这个函数很明显,return的是随机数,按照您的想法应该是生成的随机数根据三目运算之后排列好输出,对不对,但是这个函数的特性是根据字母来排序的,所以他是不可以排序这样的数据的。

明白没?

希望可以帮助到您

第四行:使用数组的字面量形式[]。

第七行:document.write和eval作用相同,尽量在避免使用。建议用document.createElement(), element.appendChild()来代替。

第八行:永远不要使用for in 来遍历数组。它会将原型链上面的属性一起遍历。请改用for(var i = 0i<arr.lengthi++)。非要用for in的话,用hasOwnProperty方法判断一下是本身的属性,而不是原型链上面的属性。

第八行:你的代码类似这个吧for(i = 0i<arr.lengthi++),定义i的时候没有加var,定义了一个全局变量i。for循环定义索引变量的时候记得加一个var或者let。