1 var声明变量时的规则: 变量的作用域:

a. 在函数外用var和不用var都是全局变量
b. 在函数内用var声明的是局部的,在函数内不用var声明的变量为全局
c. 在函数的参数中定义的变量为局部的,并且函数的参数不能加 var定义.

 

2 对象的比较并非值的比较,即使两个对象包含同样的属性及相同的值,它们也是不相同的。各个索引元素完全相同的两个数组也不相同

   这里也引入一个概念就是“==="是指变量的属性以及值完全相等,而”==“是指变量的值相等

var o={x:1}, p={x:1};//具有两个相同属性的变量

o===p;//=》false ;两个单独的对象用不相等

var a=[] , b=[];

a===b;//=》两个单独的数组永不相等

 

3 js中的函数的声明语法:
a. function 函数名 (参数列表){
return 值; / 无返回值, 直接写 代码
}
b. 函数名=function(参数列表){
return 值; / 无返回值, 直接写 代码
}

调用:
a. 函数名(参数列表);
b. 值变量=function(参数列表){
return 值; / 无返回值, 直接写 代码
}();

 

4 js中没有块级定义,即使你重新声明,如果没有重新赋值,仍然保留原值

小案列:

<!doctype html>
<html>
<head>
<title>变量作用域</title>
<script>
        function add(){
        for(var i=0;i<10;i++){
            document.writeln(i);
        }
        
        document.write("<br/>"+i); //10
        
        var i;
        document.write("<br/>"+i); //10
        
        i="string";
        document.writeln("<br/>"+i) ; //string;
    }
    
    add();
    
</script>
</head>
<body>
</body>
</html>
View Code

相关文章: