标签: local-variables

Javascript - 无法从嵌套函数访问本地范围对象

我试图让一个函数从另一个页面上的php文件中获取一个对象.我正在使用jQuery ajax函数来执行json抓取,这是正常的.问题是当我尝试从函数返回该对象时.

我第一次记录对象(在成功函数内)它在控制台中是正确的,但函数getGantt()返回的对象记录为"未定义".

如何从函数中获取此对象?

我的代码:

    function getGantt(requestNumber){
        var ganttObject;
        $.ajax({
               type: "POST",
               url: "get_gantt.php",
               data: {request_number: requestNumber},
               success: function(returnValue){
                     ganttObject = $.parseJSON(returnValue);
                    console.log(ganttObject); //this logs a correct object in the console

                }
        });
        return ganttObject;
    }

    $(function(){ //document ready function

        var requestNumber = $('#request_number').text();

        var ganttObject = getGantt(requestNumber);
        console.log(ganttObject); //this logs "undefined"

    }); //end document ready function
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery function local-variables

2
推荐指数
1
解决办法
1138
查看次数

在PHP中将局部变量设置为null

通常在我的更多面向.NET的同事添加的代码中,我会碰到这样的事情:

function someFunction()
{
    $localVariable = otherFunction();
    $ret = $localVariable * 2; // or whatever

    $localVariable = null;
    return $ret;
}
Run Code Online (Sandbox Code Playgroud)

设置$localVariable为null 有什么好处吗?因为它是一个局部变量(因此无论如何都会超出范围),我会假设没有,但如果我错了,请纠正我.

php null local-variables

2
推荐指数
1
解决办法
1632
查看次数

使用未分配的局部变量`total`

我希望有一个所有间隔的总和,但我写这个代码我有一个错误说明:使用未分配的局部变量total

enter TimeSpan total;
foreach (var grp in query)
{
  TimeSpan interval = TimeSpan.FromMinutes(grp.Minuut); 
  TimeSpan intervalH = TimeSpan.FromHours(grp.Sum);

  interval = interval + intervalH;
  total += interval;
  string timeInterval = interval.ToString();   
  dataGridView2.Rows.Add(i++, grp.Id, grp.Sum, grp.Minuut,timeInterval);
}
Run Code Online (Sandbox Code Playgroud)

c# local-variables unassigned-variable

2
推荐指数
1
解决办法
6556
查看次数

fortran保存整数

我今天遇到的代码看起来有点像这样:

      subroutine foo()
      real blah
      integer bar,k,i,j,ll
      integer :: n_called=1
      save integer

      ...
      end
Run Code Online (Sandbox Code Playgroud)

看起来这里的意图可能是save n_called,但是即使是一个有效的语句来保存所有整数 - 或者它是否隐含地声明了一个名为integer并保存它的变量?

fortran save local-variables

2
推荐指数
1
解决办法
191
查看次数

局部变量不会初始化(Java)

我正在尝试编写一个简单的骰子滚动游戏,如果骰子匹配,那就是胜利,如果它们是一个数字,它是一个平局(junker),如果它们既不满足这些条件,那也是一种损失.

我正在使用do while循环,并且似乎无法获取局部变量来初始化:

import java.util.Scanner;

public class Program06 
{
public static void main(String[] args)
{
    Scanner stdIn = new Scanner(System.in);
    String response = "k";

    int d1 = 1;
    int d2;
    int win;
    int lose;
    int junker;

    System.out.println("Welcome to Computer Dice");
    System.out.println("---------------------------");
    System.out.println("\nYou will first roll your dice");

    System.out.println("Next the outcome of your roll will be determined:");

    System.out.println("Any pair and you Win");
    System.out.println("Anything else and you Lose");
    System.out.println("\n----------------------------");

    System.out.println();

    do
    {

    System.out.println("Player");
    System.out.println("----------");

    d1 = (int)(Math.random() * 6) + 1;
    d2 …
Run Code Online (Sandbox Code Playgroud)

java local-variables do-while

2
推荐指数
1
解决办法
106
查看次数

我可以防止意外覆盖TypeScript/JavaScript中的局部变量吗?

今天我浪费了一个小时调试一个简单的问题,其中一个名为local的变量server被初始化和配置 - 然后,在同一个文件的最后一行上,意外地重新声明它,例如通过另一个var server = ...语句,有效地创建一个变量命名server,从而导致前一个变量超出范围; 然而,因为这些是相同类型的变量,具有相同的名称,所以其他一切继续工作,这使得调试相当困难.

是否有TypeScript或JavaScript语言功能,可以防止这种情况?

我的想法是,在同一范围内声明两个具有相同名称的变量,根本不应该被允许.

也许有一个短绒或一些质量保证工具,有能力检查和防止这种事情?(也许还有其他"坏"模式?)

javascript local-variables typescript

2
推荐指数
1
解决办法
809
查看次数

视图引用成员变量和局部变量之间的区别

假设我有一个活动,它包含一个TextView.我可以将TextView初始化为成员变量或局部变量.这些与初始化之间有任何记忆明智的区别吗?

示例: 具有本地视图引用的活动:

 public class MainActivity extends Activity{

    @OVerride
    public void onCreate(Bundle b){
       TextView textView = (TextView)findViewById(R.id.my_text_view_id);
    }
}
Run Code Online (Sandbox Code Playgroud)

成员视图参考的活动:

 public class MainActivity extends Activity{
    TextView mTextView;

    @OVerride
    public void onCreate(Bundle b){
       mTextView = (TextView)findViewById(R.id.my_text_view_id);
    }
}
Run Code Online (Sandbox Code Playgroud)

memory android local-variables member-variables android-view

2
推荐指数
1
解决办法
751
查看次数

在赋值之前可能会引用局部变量 - Python

我一直在尝试制作加密和解密系统,但我遇到了一个小错误.这是我的代码:

    import sys
    import pyperclip


    def copy(data):
        question = input("Copy to clipboard? ")

        if question.lower() == 'yes' or question.lower() == 'y':
            pyperclip.copy(data)
            print("Encrypted message copied to clipboard.")
            rerun()

        elif question.lower() == 'no' or question.lower() == 'n':
            rerun()

        else:
            print("You did not enter a valid input.")
            copy(data)


    def rerun():
        ask = input("\nWould you like to run this program again? ")

        if ask.lower() == "yes" or ask.lower() == "y":
            print(" ")
            run()

        elif ask.lower() == 'no' or ask.lower() == 'n':
            sys.exit("\nThank you!") …
Run Code Online (Sandbox Code Playgroud)

python encryption function local-variables python-3.x

2
推荐指数
2
解决办法
8495
查看次数

Angular5 需要功能来检查/取消选中 mat-table 内的 mat-checkbox

我可以在表格中获取复选框以在选中/取消选中时发出更改,但是在单击地图图钉以切换复选框状态时遇到问题。

我的带地图的桌子

这是我的表:

      <mat-table [dataSource]="dataSource">
        <ng-container matColumnDef="number">
          <mat-header-cell *matHeaderCellDef> Number </mat-header-cell>
          <mat-cell *matCellDef="let stock">
            // #myCheckbox needs to be unique
            <mat-checkbox #myCheckbox [checked] (change)="selectStock(stock, $event)"></mat-checkbox> <a href="">{{ stock.number }}</a>
          </mat-cell>
        </ng-container>
        <mat-header-row *matHeaderRowDef="displayedColumns"></mat-header-row>
        <mat-row *matRowDef="let row; columns: displayedColumns;" (click)="clickRow(row._id,$event)"></mat-row>
      </mat-table> 
Run Code Online (Sandbox Code Playgroud)

然后从我的地图上,当你点击一个大头针时,运行一些功能

  (click)="someFunction(myCheckbox)"
Run Code Online (Sandbox Code Playgroud)

在我的班级

    @ViewChild('myCheckbox') private myCheckbox: MatCheckbox;

    someFunction(myCheckbox){
         if (stock.isChecked) {
            this.myCheckbox.checked = false;
            } else {
            this.myCheckbox.checked = true;
         }
    }        
Run Code Online (Sandbox Code Playgroud)

这是我正在处理的示例,但它对每个复选框应用了相同的 #id,因此只有第一个复选框被切换(我假设每个复选框都需要唯一的唯一 ID?)

local-variables ngfor angular angular5

2
推荐指数
1
解决办法
1万
查看次数

Python:如何让 eval() 看到局部变量?

我有以下几点:

x = [1,2,3,4,5]
def foo(lbd:str, value):
    ret_val = eval(lbd, globals(), locals())
    print(ret_val)
Run Code Online (Sandbox Code Playgroud)

在此调用中使用 'value' 变量成功:

>>> foo("[i for i in value]",x)
            
[1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

但是这个失败了:

>>> foo(r"any([x in value for x in {'',0,None,'0'}])", x)
            
Traceback (most recent call last):
  File "<pyshell#171>", line 1, in <module>
    foo(r"any([x in value for x in {'',0,None,'0'}])", x)
  File "<pyshell#165>", line 2, in foo
    ret_val = eval(lbd, globals(), locals())
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <listcomp>
NameError: …
Run Code Online (Sandbox Code Playgroud)

python eval local-variables python-3.x

2
推荐指数
1
解决办法
70
查看次数