精华内容
下载资源
问答
  • R中在函数内部定义全局变量

    千次阅读 2019-01-23 19:02:33
    在函数内部定义变量是不会Global Environment出现的,例如: sigmoid<-function(x) { a = 1 return(1/(1+exp(-x))) } 中变量a是不会出现全局环境中的, > print(a) Error in print(a) : ...

    R定义全局变量

    R语言中,定义全局变量的方法为:a<<-1
    在函数内部定义的变量是不会在Global Environment出现的,例如:

    sigmoid<-function(x)
    {
        a = 1
        return(1/(1+exp(-x)))
    }
    

    中变量a是不会出现在全局环境中的,

    > print(a)
    Error in print(a) : object 'a' not found
    

    但是,如果将代码改为:

    sigmoid<-function(x)
    {
        a <<-1
        return(1/(1+exp(-x)))
    }
    

    变量a就会出现在全局环境中,

    > print(a)
    [1] 1
    
    展开全文
  • /**********************************************...*函数内部定义的局部变量与全局变量重名时,函数使用该变量的时候会以局部变量覆盖全局变量,也就是只有局部变量会起效果。 ********************************...
    /*********************************************************************************************************
    *函数内部定义的局部变量与全局变量重名时,函数在使用该变量的时候会以局部变量覆盖全局变量,也就是只有局部变量会起效果。
    *********************************************************************************************************/
    #include <stdio.h>
    #include <stdlib.h>
    
    int n=5;
    void fun(int m)
    {
        static int n=1;
        if(m<10)
        {
            fun(m+1);
            printf("%d ",n++);//打印 1 2 3 4 5 6 7
        }
    }
    void test_print()
    {
        printf("%d\n",n);//打印5
    }
    
    int main()
    {
        int n;
        scanf("%d",&n);//输入 3
        printf("%d\n",n);//打印3
        fun(n);
        test_print();
        return 0;
    }
    

     

    展开全文
  • 如何访问函数内部变量

    千次阅读 2017-08-07 20:23:48
    1.利用全局变量的特性 var a; function b(b){ b=’函数变量’; a=b; } alert(a);...2.利用全局函数的特性 ...var a=’函数内的变量’;...//f1函数内调用f2 } f1(); function f2(b){ alert(b); }

    1.利用全局变量的特性
    var a;
    function b(b){
    b=’函数的变量’;
    a=b;
    }
    alert(a);
    2.利用全局函数的特性
    function f1(){
    var a=’函数内的变量’;
    f2(a);//在f1函数内调用f2
    }
    f1();
    function f2(b){
    alert(b);
    }

    展开全文
  • JavaScript函数定义全局变量

    千次阅读 2020-01-21 09:58:39
    是否可以JavaScript函数定义全局变量? 我想其他函数中使用trailimage变量makeObj函数中声明)。 <html xmlns="http://www.w3

    是否可以在JavaScript函数中定义全局变量?

    我想在其他函数中使用trailimage变量(在makeObj函数中声明)。

    <html xmlns="http://www.w3.org/1999/xhtml">
        <head id="Head1" runat="server">
            <title></title>
            <script type="text/javascript">
                var offsetfrommouse = [10, -20];
                var displayduration = 0;
                var obj_selected = 0;
                function makeObj(address) {
                    **var trailimage = [address, 50, 50];**
                    document.write('<img id="trailimageid" src="' + trailimage[0] + '" border="0"  style=" position: absolute; visibility:visible; left: 0px; top: 0px; width: ' + trailimage[1] + 'px; height: ' + trailimage[2] + 'px">');
                    obj_selected = 1;
                }
    
                function truebody() {
                    return (!window.opera && document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
                }
                function hidetrail() {
                    var x = document.getElementById("trailimageid").style;
                    x.visibility = "hidden";
                    document.onmousemove = "";
                }
                function followmouse(e) {
                    var xcoord = offsetfrommouse[0];
                    var ycoord = offsetfrommouse[1];
                    var x = document.getElementById("trailimageid").style;
                    if (typeof e != "undefined") {
                        xcoord += e.pageX;
                        ycoord += e.pageY;
                    }
                    else if (typeof window.event != "undefined") {
                        xcoord += truebody().scrollLeft + event.clientX;
                        ycoord += truebody().scrollTop + event.clientY;
                    }
                    var docwidth = 1395;
                    var docheight = 676;
                    if (xcoord + trailimage[1] + 3 > docwidth || ycoord + trailimage[2] > docheight) {
                        x.display = "none";
                        alert("inja");
                    }
                    else
                        x.display = "";
                    x.left = xcoord + "px";
                    x.top = ycoord + "px";
                }
    
                if (obj_selected = 1) {
                    alert("obj_selected = true");
                    document.onmousemove = followmouse;
                    if (displayduration > 0)
                        setTimeout("hidetrail()", displayduration * 1000);
                }
            </script>
        </head>
        <body>
            <form id="form1" runat="server">
            <img alt="" id="house" src="Pictures/sides/right.gif" style="z-index: 1; left: 372px;
                top: 219px; position: absolute; height: 138px; width: 120px" onclick="javascript:makeObj('Pictures/sides/sides-not-clicked.gif');" />
            </form>
        </body>
    </html>
    

    #1楼

    如果要创建启动函数,则可以通过以下方式定义全局函数和变量:

    function(globalScope)
    {
         //define something
         globalScope.something() { 
             alert("It works");
         };
    }(window)
    

    因为该函数是使用此参数全局调用的,所以这里是全局范围。 因此,事物应该是全球事物。


    #2楼

    UPDATE1:如果您阅读注释,则围绕此特定命名约定进行了很好的讨论。

    UPDATE2:似乎自从我的答案发布以来,命名约定就变得更加正式了。 教书,写书等的人谈论var声明和function声明。

    UPDATE3:这是支持我的观点的其他Wikipedia帖子: http : //en.wikipedia.org/wiki/Declaration_( computer_programming)#Declarations_and_Definitions

    ...并回答主要问题。 函数前的DECLARE变量。 这将起作用,并且将遵循在范围顶部声明变量的良好做法:)


    #3楼

    经典示例:

    window.foo = 'bar';
    

    使用IIFE遵循最佳实践的现代,安全示例:

    ;(function (root) {
        'use strict'
    
        root.foo = 'bar';
    )(this));
    

    如今,还可以选择使用WebStorage API

    localStorage.foo = 42;
    

    要么

    sessionStorage.bar = 21;
    

    在性能方面,我不确定它是否比将值存储在变量中明显慢。

    我可以使用...所述的广泛的浏览器支持


    #4楼

        var Global = 'Global';
    
        function LocalToGlobalVariable() {
    
        //This creates a local variable.
    
        var Local = '5';
    
        //Doing this makes the variable available for one session
        //(a page refresh - Its the session not local)
    
        sessionStorage.LocalToGlobalVar = Local;
    
        // It can be named anything as long as the sessionStorage references the local variable.
        // Otherwise it won't work
        //This refreshes the page to make the variable take effect instead of the last variable set.
    
        location.reload(false);
        };
    
        //This calls the variable outside of the function for whatever use you want.
    
        sessionStorage.LocalToGlobalVar;
    

    我意识到其中可能存在很多语法错误,但这是其总体思路...非常感谢LayZee指出这一点...您可以在http://www.w3schools找到本地存储和会话存储。 com / html / html5_webstorage.asp 。 我的代码需要同样的东西,这确实是个好主意。


    #5楼

    这是一个可能很丰富的示例代码。

      var Human = function(){
       name = "Shohanur Rahaman";  // global variable
       this.name = "Tuly"; // constructor variable 
       var age = 21;
     };
    
      var shohan = new Human();
    
     document.write(shohan.name+"<br>");
     document.write(name);
     document.write(age); // undefined cause its local variable 
    

    在这里,我找到了一个不错的答案: 如何在JavaScript中声明一个全局变量


    #6楼

    这是另一个使变量在其他函数中可用而又不必使用全局变量的简便方法:

     function makeObj() { // var trailimage = 'test'; makeObj.trailimage = 'test'; } function someOtherFunction() { document.write(makeObj.trailimage); } makeObj(); someOtherFunction(); 


    #7楼

    只需在函数外部声明它,然后在函数内部分配值即可。 就像是:

    <script type="text/javascript">
        var offsetfrommouse = [10, -20];
        var displayduration = 0;
        var obj_selected = 0;
        var trailimage = null ;  // GLOBAL VARIABLE
        function makeObj(address) {
            trailimage = [address, 50, 50];  //ASSIGN VALUE
    

    或者简单地从函数内部的变量名中删除“ var”也会使其具有全局性,但是最好在外部将其声明一次以获取更清晰的代码。 这也将起作用:

    var offsetfrommouse = [10, -20];
    var displayduration = 0;
    var obj_selected = 0;
    
    function makeObj(address) {
        trailimage = [address, 50, 50];  //GLOBAL VARIABLE , ASSIGN VALUE
    

    我希望这个例子能进一步解释: http : //jsfiddle.net/qCrGE/

    var globalOne = 3;
    testOne();
    
    function testOne()
    {
        globalOne += 2;
        alert("globalOne is : " + globalOne );
        globalOne += 1;
    }
    
    alert("outside globalOne is : " + globalOne);
    
    testTwo();
    
    function testTwo()
    {
        globalTwo = 20;
        alert("globalTwo is " + globalTwo);
        globalTwo += 5;
    }
    
    alert("outside globalTwo is :" + globalTwo);
    

    #8楼

    只需声明

    var trialImage;
    

    外。 然后

    function makeObj(address) {
        trialImage = [address, 50, 50];
    ..
    ..
    }
    

    希望这可以帮助。


    #9楼

    不,你不能。 只需在函数外部声明变量即可。 您不必在分配值的同时声明它:

    var trailimage;
    
    function makeObj(address) {
      trailimage = [address, 50, 50];
    

    #10楼

    是的,正如其他人所说,您可以在全局作用域(所有函数之外)使用var来声明一个全局变量:

    <script>
    var yourGlobalVariable;
    function foo() {
        // ...
    }
    </script>
    

    或者,您可以在window上分配一个属性:

    <script>
    function foo() {
        window.yourGlobalVariable = ...;
    }
    </script>
    

    ...因为在浏览器中,用var声明的所有全局变量全局变量都是window对象的属性。 (在最新规范ECMAScript 2015中,全局范围内的新letconstclass语句创建了不是全局对象属性的全局变量;这是ES2015中的新概念。)

    (也有隐式全局变量的恐怖 ,但不要故意这样做,并尽最大努力避免意外地这样做,也许可以使用ES5的"use strict" 。)

    话虽如此:如果可能(我几乎可以肯定),我会避免使用全局变量。 正如我提到的那样,它们最终是window属性,并且window已经足够拥挤 ,所有具有id (并且很多都只有name )的元素都被转储到其中(无论即将发布的规范如何,IE都将转储几乎所有内容)上面有一个name )。

    而是将代码包装在作用域函数中,并使用该作用域局部变量,并在其中封闭其他函数:

    <script>
    (function() { // Begin scoping function
        var yourGlobalVariable; // Global to your code, invisible outside the scoping function
        function foo() {
            // ...
        }
    })();         // End scoping function
    </script>
    

    #11楼

    在函数外部定义trailimage变量并在makeObj函数中设置其值非常简单。 现在,您可以从任何地方访问其价值。

    var offsetfrommouse = [10, -20];
    var displayduration = 0;
    var obj_selected = 0;
    var trailimage;
    function makeObj(address) {
          trailimage = [address, 50, 50];
          ....
    }
    

    #12楼

    因此,您希望函数内部的变量在函数外部可用吗? 为什么不返回函数内部变量的结果? var x = function returnX { var x = 0; return x; } var x = function returnX { var x = 0; return x; }是这个主意...

        <html xmlns="http://www.w3.org/1999/xhtml">
        <head id="Head1" runat="server">
        <title></title>
        <script type="text/javascript">
    
            var offsetfrommouse = [10, -20];
            var displayduration = 0;
            var obj_selected = 0;
    
            function makeObj(address) {
                var trailimage = [address, 50, 50];
                document.write('<img id="trailimageid" src="' + trailimage[0] + '" border="0"  style=" position: absolute; visibility:visible; left: 0px; top: 0px; width: ' + trailimage[1] + 'px; height: ' + trailimage[2] + 'px">');
                obj_selected = 1;
                return trailimage;
            }
    
            function truebody() {
                return (!window.opera && document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body;
            }
    
            function hidetrail() {
                var x = document.getElementById("trailimageid").style;
                x.visibility = "hidden";
                document.onmousemove = "";
            }
    
            function followmouse(e) {
                var xcoord = offsetfrommouse[0];
                var ycoord = offsetfrommouse[1];
                var x = document.getElementById("trailimageid").style;
                if (typeof e != "undefined") {
                    xcoord += e.pageX;
                    ycoord += e.pageY;
                }
    
                else if (typeof window.event != "undefined") {
                    xcoord += truebody().scrollLeft + event.clientX;
                    ycoord += truebody().scrollTop + event.clientY;
                }
                var docwidth = 1395;
                var docheight = 676;
                if (xcoord + trailimage[1] + 3 > docwidth || ycoord + trailimage[2] > docheight) {
                    x.display = "none";
                    alert("inja");
                }
                else
                    x.display = "";
                x.left = xcoord + "px";
                x.top = ycoord + "px";
            }
    
            if (obj_selected = 1) {
                alert("obj_selected = true");
                document.onmousemove = followmouse;
                if (displayduration > 0)
                    setTimeout("hidetrail()", displayduration * 1000);
            }
    
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <img alt="" id="house" src="Pictures/sides/right.gif" style="z-index: 1; left: 372px; top: 219px; position: absolute; height: 138px; width: 120px" onclick="javascript:makeObj('Pictures/sides/sides-not-clicked.gif');" />
        </form>
    </body>
    </html>
    

    我尚未对此进行测试,但是如果您的代码在进行此小更改之前就可以使用,那么它应该可以使用。

    展开全文
  • js 函数内部私有变量的 访问方式

    千次阅读 2016-12-20 15:01:18
    // 全局静态私有变量访问(function(){ var name = "李四"; // 私有变量 function show(){ return "is a good man";... Person = function( n ) { // 全局静态私有变量 构造函数,可传参初始化,也可以
  • 函数内部变量看成函数的一个属性,从而其他函数中进行调用,需要注意的是,不管哪里调用,自己本身函数内部使用或者其他函数中调用都需要进行域指定。def fuc1(): #通过一个 ".",使用了fuc2的变量 b = fuc...
  • Python中,如果想函数内部对函数外的变量进行操作,有一些问题(一些Java,C中再正常不过的操作这里就不行)
  • js函数内部定义函数的理解

    千次阅读 2020-10-09 21:12:47
    函数定义函数:需要从数据类型的角度理解,一旦执行这个函数,就会定义内部一个函数。因为作用域的存在,无法外面直接调用访问。但是可以这个函数内直接使用。 function Foo(){ getName=function()...
  • 闭包---在函数内部定义一个函数

    千次阅读 2019-05-12 22:02:30
    # 在函数内部定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包 def test_in(number_in): print("in test_in 函数, number_in is %d" % number_in) return nu...
  • 成员函数定义static变量

    千次阅读 2014-11-11 15:21:15
    成员函数定义static变量
  • linux shell 可以用户定义函数,然后shell脚本中可以随便调用。Shell 函数定义的语法格式如下: [function] funname [()]{ 函数体 [return int;] } 格式1: 简化写法,不写 function 关键字: 函数名(){ ...
  • public class Test5 {   //定义包含私有成员变量函数  private int a = 201320883;  private void funcOut(){  System.out.println("out function run print:" + a);   
  • ECMAscript 是核心(定义了规范) 包含(DOM ,BOM = browser object modle) &lt;script type="text/javascript"&gt;&lt;/script&gt; 标签可以出现HTML中的(乃至HTML外)的任何位置; ...
  • php中函数内部调用外部变量

    万次阅读 2018-09-21 11:43:16
    php函数在使用外部变量的几种情况。 外部用global定义 函数内使用$GLOBALS数组引用 global $mytext; $mytext="外部使用global定义"; function test(){ echo $GLOBALS['mytext']."&lt;br&...
  • 我认为以下这两种解释都是类似的,正确的: 解答一:static 只能修饰 ...定义在方法中,被视为 局部的。显然是不能共享的。  来自 https://zhidao.baidu.com/question/281363843.html 解答二 :静态变量时属于整
  • shell脚本里函数定义变量使用

    千次阅读 2012-12-10 18:14:43
     函数可以带参数,但不函数的定义中写出,调用函数时给出,调用函数时只需写上函数名就行了,不用加括号之类的,后面可能接传递给函数的参数,在函数内部使用这些参数时,第一个参数为$1, 第二个参数为$2, ...
  • 函数中的变量

    千次阅读 2019-02-19 18:40:01
    函数中的变量 ...显示结果,我们没有定义变量a,而我们在函数内部明明定义了变量a。 这里我说明一下,定义的变量只能函数所包含,只能函数体内部才能识别进行使用这就是局部变量; 那么什么是动态呢,动...
  • python 函数内部声明全局变量

    千次阅读 2018-10-25 18:34:00
    在函数内可以以函数属性的形式声明全局变量: def func1(): b = func1.a print(b) def func2(): func1.a = 5 func2() func1() print(func1.a) 输出: 5 5 1、func1,fun2定义的先后顺序无关; ...
  • 闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。...Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 Js代码 var n=999; function f1(){ alert(n)
  • 今天调程序时(我用的是DSP处理器),在函数内部定义了两个较大的数组:float a[300],float[300],编译无错也无警告, 但运行时程序会出错,像是跑飞的样子,后来我将这两个大数组放到函数外(全局变量),则就正常...
  • 比如写个代码段 def function(): x=4 print(x) 这样会显示出x没定义
  • 函数中的声明和变量定义

    千次阅读 2019-04-14 19:44:13
    函数中的声明和变量定义声明与定义比较前向引用函数属性内部/内嵌函数函数应用:打印图形和数学计算变量作用域全局变量与局部变量局部变量全局变量globa语句可变类型的全局变量 声明与定义比较 ​ 某些编程语言...
  • javascript的函数内部变量的作用域

    千次阅读 2014-04-17 00:14:22
    javascript中的函数内部任何位置声明的变量,都整个函数内部有效。 每种语言都有不同的特性,学习语言的时候,如果不透彻,容易有许多想当然的理解,就很容易处错误。自己学习的时候还是要注意呀~
  • C++ 在函数中用static定义变量

    千次阅读 2015-11-18 17:34:53
    C++中,在函数中使用static定义一个变量,该变量最终只会分配一次内存,如果下次继续调用该函数,不会再重新分配内存给变量,而是使用上次分配的内存。#include using namespace std; class StaticVer { public: ...
  • 全局变量和局部变量的区别在于作用域的不同,全局变量在整个文件里都是可以访问的,而局部变量只能在某个函数内调用。 代码1: a = None def f1(): global a a = 20 b = a + 100 return b print('Pass_a: ', a...
  • Python中,嵌套函数内部去操作被嵌套的父级函数中的变量的话: Python 2.x:把变量弄进一个列表中的第1个值,index=0,然后就可以嵌套函数中,获得该list列表变量,操作其中第1个值了。 Python 3.x:把...
  • 例一:a = 9 def b(): print(a) 结果打印出来是:9 a 是定义函数外部的全局...在函数内部定义的a 是局部变量,当我们调用函数b的时候,函数内部打印的是局部变量,函数外部打印的是全局变量a,并没有改变外部的全局
  • 返回局部变量没问题 如果返回局部变量有问题,函数的意义还有吗? 全局变量还用返回吗?  返回指向局部变量的指针才有问题, 函数退栈之后...还有,如果是堆空间,可以返回,即在函数中用new申请的空间,是可以返
  • js如何通过变量调用函数函数在变量里面。 有时候函数名是动态定义的,这时候我们就需要用到这个方法了。 //赋值函数名称 var a = "b"; //定义函数 function b(){ alert(123); } //通过变量调用函数 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 702,115
精华内容 280,846
关键字:

在函数内部定义的变量