• 变量与作用域


    一、var box="blue";
    function setColor(){
    return 123;
    }
    alert(box);==alert(window.box); ---blue //全局变量属于window的属性
    alert(setColor());==alert(window.setColor()); ---123 //全局函数属于window的方法

    二、var box="blue";
    function setColor(){
    var box="red";
    }
    setColor();
    alert(box);---blue //因为setColor函数是在window全局作用局下的方法,所以,alert出来的也是全局下的变量。

    var box="blue";
    function setColor(){
    box="red"; //去掉了var,这个变量就是全局变量了
    }
    setColor();
    alert(box);---red

    三、var box="blue";
    function setColor(box){
    alert(box);----red //传参也是局部变量
    }
    setColor("red");
    alert(box);---blue

    四、作用域链,函数体内还包含着函数,只有这个函数才可以访问内一层的函数。

    function setBox() {

    function setColor() {
    return 123;
    }
    }
    alert(setColor());会报错,因为setColor()方法的作用域在setBox(),而不是window内。那怎么调用setColor呢:
    function setBox() {

    function setColor() {
    return 123;
    }
    return setColor();
    }
    alert( setBox());这样就可以了

    但是if语句的花括号等代码块没有作用域的功能,也就是说它们可以通过window全局去访问的。

  • 相关阅读:
    Win7下安装iMac系统
    Windows平台cocos2d-x 3.0 android开发环境
    iOS Dev (50)用代码实现图片加圆角
    内部消息 微软中国云计算 内測Azure免费账号 赶紧申请 错过不再有
    android锁屏软件制作
    CF1019E Raining season
    各数据库系统独有函数
    其他函数
    日期时间函数
    字符串函数
  • 原文地址:https://www.cnblogs.com/annie211/p/6051817.html
Copyright © 2020-2023  润新知