小编Han*_*año的帖子

尝试协助JavaScript垃圾收集器是否有意义?

由于我更像是使用高级面向对象语言的JavaScript,我发现自己就像C/C++程序员一样,在我完成对象时就是这样.我知道GC最终会运行并清理我的烂摊子,但我能做些什么才能真正帮助它?

例如,我有一个大型/复杂主要对象的数组......每个主要对象可能包含数组和其他辅助对象引用.如果我已完成主要对象并将其从数组中删除,那么GC可能最终会找出对象所指向的所有其他内容,循环内部引用和所有内容.但是当从存储阵列中删除主要对象以通过它并且array.length = 0时,任何数组和reference = null任何对象基本上都可以使GC工作变得更容易(例如显式删除引用意味着GC更少)跟踪)?如果你愿意,那种手动析构函数.这样做是值得的还是我浪费时间/精力来获得很少/没有收获?

我想这更像是GC问题的一般理论(Java等),但我对这个问题的目的主要是对JavaScript感兴趣.

谢谢!

javascript garbage-collection

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

如何在框架3.5中使用System.Guid.Parse

我正在使用.Net Framework 4.0构建我的BLL但后来我注意到我需要它用于WebServices应用程序,因此我将.Net版本更改为3.5.现在我有这行代码给我一个错误:

tmp.GlobalIdentifier = Guid.Parse(Convert.ToString(row["GlobalIdentifier"]));

错误是

'System.Guid'不包含'Parse'的定义

这是一个非常明显的错误.你在任何其他类中有任何等效的"Parse"方法吗?使用.Net framework 3.5将SQL Server UniqueIdentifier解析为System.Guid对象的最佳方法是什么?

.net frameworks guid uniqueidentifier

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

不使用jquery只执行一次事件侦听器函数

我制作了一段代码,用箭头上下垂直移动6个项目前面的元素.当按下enter时,我将加载一组带有该项目的图像.代码工作正常,但在输入命中后,这段代码需要停止,所以我可以用箭头键做其他事情并输入.现在它只是在输入被击中后继续前进.我尝试使用var检查,但是我似乎无法从交换机内部更改变量.有人知道如何使这项工作?

var enterPushed = false;

if(!enterPushed){   
        document.addEventListener('keydown', function(event){
    if(event.keyCode == 38){
        console.log("up");
        if(margTop > 122){
            margTop = margTop - 60;
            marginTop();
            i = i - 1;
            bliep.play();
        }
    }
    if(event.keyCode == 40){
        console.log("down");
        if(margTop < 422){
            margTop = margTop + 60;
            marginTop();
            i = i + 1;
            bliep.play();   
        }
    }
    if(event.keyCode == 13){
        switch(i){
            case 1:
                enterPushed = true;
                startup(1);         
            break;
            case 2:
                enterPushed = true;
                startup(2);             
            break;
            case 3:
                enterPushed = true;
                startup(3);         
            break;
            case 4:
                enterPushed = true; …
Run Code Online (Sandbox Code Playgroud)

javascript

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

从HTML文档获取值

我可以帮忙从HTML文档中获取价值吗?

这是文档内容:

<html>
  <head>
    <style>body, table, input, select, textarea, button {   font: normal 1em Verdana, Sans-Serif; } body {  font-size: 0.8em; } a { color:#336600; } b { color:#003300; }.header {font-family: verdana; font-size: 15px; color:#003300; font-weight:bold;}.back {background-color:#DBF0DB;}.back2 {background-color:#009933;}            
    </style>
  </head>
  <body>
    <table border="0" cellpadding="3" cellspacing="1" width="100%">
      <tr>
        <td colspan="2" class="header">#827216</td>
      </tr>
    </table>
<body>
</html> 
Run Code Online (Sandbox Code Playgroud)

我想检索#827216值。

这是我正在使用的代码,无法正常工作:

hdoc.LoadHtml(FileContents);

var xID = hdoc.DocumentNode.SelectNodes("/html/body/table/tr/");
Run Code Online (Sandbox Code Playgroud)

这是错误:

表达式必须计算为节点集

html c# document nodes html-agility-pack

5
推荐指数
1
解决办法
1321
查看次数

与函数一起使用时,不匹配运算符>

我重载了以下大于运算符:

bool operator > (Person & a, Person & b)
{
   //firstname is a string data type
   return (a.FirstName > b.FirstName);      
}
Run Code Online (Sandbox Code Playgroud)

如果我有以下内容,哪个工作正常:

Person a = myPersonA;
Person b = myPersonB;

return myPersonA > myPersonB;
Run Code Online (Sandbox Code Playgroud)

但是,在我的Person类中,我已经定义了一个Person getByID(int id)函数,该函数通过给定的ID返回Person的实例.如果我尝试使用我的运算符与此函数返回的值,如下所示:

bool whosGreater = listPeople.getById(1) > listPeople.getById(2);
Run Code Online (Sandbox Code Playgroud)

我明白了 "Error: no match for operator >(Person&, Person&)"

但如果我做以下工作就可以了:

Person a = listPeople.getById(1);
Person b = listPeople.getById(2);
bool whosGreater = a > b;
Run Code Online (Sandbox Code Playgroud)

有没有我在这里看到的东西?在我看来它应该工作.

PS:这是一个家庭作业,所以我可以真正逃脱声明变量并为它们分配函数返回和逃避它,但我想知道发生了什么,以便我可以学习.我试过谷歌搜索它,但我无法提出正确的问题.

c++ operator-overloading

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

提交包含Master Pages和Ajax的表单后返回页面顶部

我有一个ASP.NET 4.0页面,我试图在提交表单后重置到顶部,以显示验证摘要.

我正在使用Ajax,我有一个包含以下简化代码的母版页:

 <form id="Form1" runat="server" target="_top" >
    <asp:ScriptManager runat="server" ID="SM1" />
    <asp:UpdatePanel runat="server" ID="UP1"  >
        <ContentTemplate>
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
        </ContentTemplate>
    </asp:UpdatePanel>
    </form>
Run Code Online (Sandbox Code Playgroud)

我的内容页面如下所示:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

    <asp:ValidationSummary ID="vs1" runat="server" ValidationGroup="ValidateForm" DisplayMode="BulletList"
        CssClass="ValidationSummary" ShowSummary="true" ShowMessageBox="false" />
 < ... Form Field ... >
 < ... Form Field ... >
 < ... Form Field ... >
 < ... Form Field ... >
...
 < ... Form Field ... >


        <asp:ImageButton ID="btnSaveChanges" runat="server" ImageUrl="/Assets/Images/btn-AdminSaveChanges.png"
            ValidationGroup="ValidateForm" CausesValidation="false" OnClick="btnSaveChanges_Click" />

</asp:Content>
Run Code Online (Sandbox Code Playgroud)

当前发生的情况是,当用户到达表单底部并点击提交按钮时,页面将保持原样并且验证摘要不可见.我想在验证错误时将页面重置为顶部.我已经尝试在内容页面标题中将maintaincrollposition设置更改为false,但它似乎没有做任何事情.

任何帮助将不胜感激!

javascript asp.net

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

需要一个视图发布到不同的控制器MVC

我的Home-Index页面上有一个搜索栏:

<p>
    Find by name: @Html.TextBox("SearchString")  
    <input type="submit" value="Search" />
</p>
Run Code Online (Sandbox Code Playgroud)

我需要将此字符串提交到我的代码控制器中,并使用代码控制器而不是家庭控制器将用户带到Code-Index页面.似乎参数不足以让它拿起来:

public ViewResult Index(string sortOrder, string searchString)
{
}
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

c# asp.net-mvc

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

调用声明变量的函数

我刚刚在一些代码中看到了与此相似的内容,我很惊讶它编译,有人能告诉我这是否有名字?

bool value()
{
    return true;    
}

int main()
{
   bool value(); //why does this work? What is it?
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

我的大脑告诉我,这是函数内存的某种腾出空间,但同时也是一个函数调用......好吧,这对我来说真的没有意义.

c c++ function

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

SQL Server ROW_NUMBER行为

我有以下查询:

SELECT * FROM
(
    SELECT 
       a.TeacherID, a.UniversityID, 
       ROW_NUMBER() OVER (ORDER BY a.TeacherID) AS RowNum 
    FROM 
       SelectAll a  
    LEFT JOIN 
       mp_Ratings r ON a.TeacherID = r.TeacherID 
    GROUP BY 
       a.TeacherID, a.UniversityID
) AS TeacherInfo 
WHERE RowNum BETWEEN 10 AND 50
Run Code Online (Sandbox Code Playgroud)

它工作正常.现在,如果我想做类似的事情:

SELECT * FROM
(
    SELECT 
       a.TeacherID, a.UniversityID, 
       ROW_NUMBER() OVER (ORDER BY a.TeacherID) AS RowNum 
    FROM 
       SelectAll a  
    LEFT JOIN 
       mp_Ratings r ON a.TeacherID = r.TeacherID 
    GROUP BY 
       a.TeacherID, a.UniversityID
) AS TeacherInfo 
WHERE RowNum BETWEEN 10 AND 50 AND UniversityID …
Run Code Online (Sandbox Code Playgroud)

row-number sql-server-2008

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

如何使用Javascript更改背景颜色?

我想使用用户输入更改页面的背景颜色.到目前为止这是我的代码..

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<script type = "text/javascript">
function paintIt(){
    color = prompt("Enter the color you want on the Background???");
    switch (color){
    }
}
</script>
<form>
<input type = "button" value = "Paint Me" onclick ="paintIt()">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

而我的简单css

   html {font-family:Arial, Helvetica, sans-serif; colour:#fff;}
            body{background-color:#ccc; margin:0;}
Run Code Online (Sandbox Code Playgroud)

谢谢

html javascript css

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