js中如何定义全局变量?

JavaScript08

js中如何定义全局变量?,第1张

JavaScript声明全局变量三种方式的异同\x0d\x0a\x0d\x0aJavaScript中声明变量格式:var(关键字)+变量名(标识符)。\x0d\x0a方式1\x0d\x0avar test\x0d\x0avar test = 5\x0d\x0a\x0d\x0a需注意的是该句不能包含在function内,否则是局部变量。这是第一种方式声明全局变量。\x0d\x0a \x0d\x0a方式2\x0d\x0atest = 5\x0d\x0a\x0d\x0a没有使用var,直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个function内,当该function被执行后test变成了全局变量。\x0d\x0a \x0d\x0a方式3\x0d\x0awindow.test\x0d\x0awindow.test = 5\x0d\x0a\x0d\x0a这种方式经常被用到一个匿名函数执行后将一些函数公开到全局。 如JQuery1.5中最末一句\x0d\x0awindow.jQuery = window.$ = jQuery

通过js方式实现设置全局变量 var a=q

vartest2 ='tank'//方法1,定义全局变量

varphonecatApp = angular.module('phonecatApp', [//定义一个ng-app

'ngRoute',

'phonecatControllers',

'tanktest'

])

phonecatApp.value('test',{"test":"test222","test1":"test111"})//方法2定义全局变量

phonecatApp.constant('constanttest','this is constanttest')//方法3定义全局变量

首先吧,你得知道什么是全局变量:

javascript的变量作用域是根据方法块儿来限定的,方法块儿内声明的变量叫局部变量,方法块儿外声明的变量叫全局变量。

有三种方式声明全局变量:

方法1,在方法块儿外拿var声明:

<script>

    var a=1

    function(){

        //我是代码

    }

</script>

方法2,不实用var,进行隐式声明:

<script>

    b=1

    function(){

        c=2

        //b和c都是全局变量。

    }

</script>

方法3,用window.变量方式声明:

<script>

    function(){

        window.d=1

    }

    console.log(d)

    //d为全局变量。

</script>