Javascript 学习

一、全局变量的出现:

       1. 在任何函数外定义的变量;不能进行 delete 操作;

       2. 没定义就使用,可以进行delete删除。

相关引用:

http://www.cnblogs.com/TomXu/archive/2011/12/28/2286877.html

 实例:

      if (!("a" in window)) {
        var a = 1;// Javascript 会自动将var 放在前面(赋值不会提前),所以这的if为false.
        alert('test');
    }
    alert(a);
    // 等于下面这个JS
    var a;
    if (!("a" in window)) {
        a = 1;
    }
    alert(a);
//=====方法中有重名的情况=========
myname = "global"; // 全局变量
function func() {
    alert(myname); // "undefined", 如果加上this.myname,则会 弹出global
    var myname = "local";
    alert(myname); // "local"
}
func();
//myname被当做了函数的局部变量(尽管是之后声明的),所有的变量声明当被悬置到函数的顶部了
//
与下面的JS相同
myname = "global"; // global variable
function func() {
   var myname; // 等同于 -> var myname = undefined;
   alert(myname); // "undefined"
   myname = "local";
   alert(myname); // "local"}
func();
function add(x,y,z){
        //首先检查传递的参数数量是否正确
        if(arguments.length != 3){
            throw new Error("function f called with " + arguments.length + "arguments ,but it not 3 arguments.");
        }
        //下面运行真正的函数
        arguments[1]=8;//修改值后也会影响到之后的计算
        return x+y+z;
    }
原文地址:https://www.cnblogs.com/chinabc/p/2353799.html