删除arr中的元素
// 就这样,数组中下标10以后的元素就被删除了arr.length = 10
变量比较
var str = ''var num = 0
console.log(str == num) //结果是true
函数也是对象
function foo () {console.log('foo')}foo.foo = foo
foo.foo.foo.foo.foo.foo.foo.foo.foo.foo.foo.foo() // 输出foo
变量可以重复声明
var a = 1var a = 3
console.log(a) // 输出3,声明被下面覆盖了
变量声明前置
var a = 1function foo () {
console.log(a)
var a = 3
}
foo() // 结果是undefined,因为a在函数入口通过声明前置已经定义了,所以不会是外面的闭包变量a,同时又没有被赋值,因此是undefined
还有更多的例子来佐证javascript有多变态,这里就不一一列举了,看完了这些以后,你就知道javascript有多么灵活了!灵活通常是不严谨的代名词!
喜欢的人自然喜欢,不喜欢的人主要是对css和事件讨厌。js这种不严格的语言也可以用严格的语法,相对比较轻松上手,写其他语言的人也可以轻松入门。
但是js在深层次当中,会涉及css,html和事件、原型链等,所以有些人遇到这些的时候会不喜欢。
function showtable(obj) {var tablename=document.getElementById(obj)
var li=tablename.getElementsByTagName("tr")
for (var i=0i<li.lengthi++){
if (i%2==0){
li[i].style.backgroundColor="#efefef"
}else li[i].style.backgroundColor="#FFFFFF"
}
}
window.onload=function(){
showtable('1')
showtable('2')
}
把你的js代码稍微修改一下就可以了;
你要做的是表格的隔行换色吧,另外你的js里面写的不够严谨,会多遍历一次无效的li,也就是i<=li.length那里,应该改成i<length,因为对象下标和你的for循环都是从0开始的;