className=className.replace(/\-/g,"\\-"); //不明白这句话是什么意思。
var regex=new RegExp("(^|\\s)*"+className+"(\\s|$)");
var element;
for(var i=0;i<allTags.length;i++){
element=allTags[i];
if(regex.test(element.className)){ //这个 element.className 也不明白是什么意思
matchingElements.push(element);
}
}
return matchingElements;
}
window['LS']['getElementByClassName']=getElementByClassName;
})() //如果不加()不能执行
javascript 常见问题总结
1、JS 中方法和变量都是区分大小写的
2、单引号、双引号在 JS 中没有特殊的区别,都可以用来创建字符串。但作为一般性规则,大
多数开发人员喜欢用单引号而不是双引号,但是
XHTML 规范要求所有属性值都必须使用
双引号括起来。这样在
JS 中使用单引号,而对 XHTML 使用双引号会使混合两者代码更方
便也更清晰。
单引号可以包含双引号,同理,双引号也可以包含单引号。
3、括号
首先需要说明的是:
JS 中括号包含两种语义,可以是分隔符也可以是表达式。
a、分隔符大家非常熟悉(1+3)*3 等于 12
b、(function(){})();function 之前的一对括号作为分隔符,后面的括号表示立即执行这个方
法。
4、函数调用和引用
因为括号代表执行,所以:
var foo=example(); foo 表示函数的返回值
var foo1=example; 将函数引用赋给一个值 foo1
5、重载
JS 不支持重载,因此这里所说有重载其实更类似于替换
JS 不区别参数个数
6、作用域、闭包
作用域指对某一属性或方法具有访问权限的代码空间。如: