zoukankan      html  css  js  c++  java
  • JS作用域

    一、变量的作用域

    变量的作用域无非就是两种:全局变量和局部变量

    js中函数内部可以直接取全局变量。

    var t = 1900;
    function f() {
    	alert(t);
    }
    f(); //1900

    另一方面,在函数外部自然无法读取函数内的局部变量。

    function f() {
    	var t = 1900;
    }
    f();
    alert(t); //t is not defined

    需要注意,在函数内部声明变量的时候,一定要使用var,如果不用的话,实际上声明了一个全局变量

    function f() {
    	t = 1900;
    }
    f();
    alert(t); //1900

    二、如何从外部读取局部变量

    如果非要得到函数内函数内的局部变量,正常情况下,是不行的,但可以变通方法实现

    在函数的内部 再定义一个函数

    function out() {
    			var t = 1900;
    			function inner() {
    				alert(t);
    			}
    			inner();
    		}
    		out(); //1900


    三、Example

    function outerFun() {
    	var a = 0;
    	alert(a);
    }
    var a = 4;
    outerFun();
    alert(a); //0  4

    var name = "hello";
    function f() {
    	var name = "world"
    }
    f();
    alert(name); //hello ,内容并没有改变



  • 相关阅读:
    poj3984 迷宫问题(简单搜索+记录路径)
    substr
    poj3087 Shuffle'm Up
    学生管理系统
    win10配置gcc编译环境
    poj3278 Catch That Cow
    将字符串str1复制为字符串str2的三种解决方法
    poj2251 Dungeon Master
    cf 410
    7.20 Codeforces Beta Round #8
  • 原文地址:https://www.cnblogs.com/itmyhome/p/4131343.html
Copyright © 2011-2022 走看看