1.?请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。
<script type="text/javascript">
var a = "abc";
var b = "def";
alert(a == b); // false
alert(isNaN(b)) // ture
</script>
?
2. == 和 ===
<script type="text/javascript"> var a = '12'; var b = 12; // alert(a == b); // 先把两边的东西转成一样的类型,然后再比较(隐式转换) alert(a === b); // 不转换,直接比较 </script>
?
3. 闭包: 子函数可以使用父函数的局部变量
<script type="text/javascript">
function aaa(){ // 父函数
var a = 12;
function bbb(){ // 子函数
alert(a); // 子函数可以使用父函数的局部变量
}
}
bbb();
</script>
?
?4. 命名规范: 类型前缀

?
5. 真和假
// 真的: true 、非零数字、非空字符串 、非空对象
// 假的: false、数字零、空字符串、空对象、undefeined
?
6. json可以放在数组里,数组也可以放在json里
<script type="text/javascript">
var obj = {a : 5, b : 6, c : 'abc', d : [1, 2, 3, 4]}; // 数组存于json
alert(obj.d[0]);
var arr = [{a : 5, b : 12},{a: 6, b : 19}]; // json存于数组
alert(arr[0].a);
</script>
?
7. for in
<script type="text/javascript">
var obj = {a : 5, b : 3, c : 98};
var attr = '';
for(attr in obj){
alert(attr + '=' + obj[attr]);
}
</script>
?
8. 不定参数:arguments
<script type="text/javascript">
function sum(){
var iResult = 0;
var i = 0;
for(i = 0; i < arguments.length; i++){
iResult += arguments[i];
}
return iResult;
}
alert(sum(1, 2, 3, 4));
</script>
?
9. style 和 currentStyle
? ??
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
div{
width:200px;
}
</style>
<script type="text/javascript" >
window.onload = function(){
var oDiv = document.getElementById("div1");
if(oDiv.currentStyle){
// IE
alert(oDiv.currentStyle['width']);
alert(oDiv.currentStyle.width);
// alert(oDiv.style.width); // 只能获取行间样式
}else{
// Firefox
alert(getComputedStyle(oDiv,false).width); // 获取计算后的样式
}
}
</script>
</head>
<body>
<div id='div1'> </div>
</body>
</html>
?
