小编lol*_*bas的帖子

迭代对象属性

var obj = {
    name: "Simon",
    age: "20",
    clothing: {
        style: "simple",
        hipster: false
    }
}

for(var propt in obj){
    console.log(propt + ': ' + obj[propt]);
}
Run Code Online (Sandbox Code Playgroud)

变量如何propt表示对象的属性?它不是内置方法或属性.为什么它会出现在对象中的每个属性?

javascript loops object

1904
推荐指数
24
解决办法
122万
查看次数

使用嵌套函数和默认函数定义函数

请考虑以下代码:

function test() {
    this.foo = function() {
        console.log('foo');
        return;
    }

    this.bar = function() {
        console.log('bar');
        return;
    }
}

var action = new test();
action.foo();    //prints 'foo'
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常,以防我需要调用操作foobar内部操作test.但是动作test本身应该是一个可调用的函数.我认为如果JavaScript让我创建这样的东西(见下文)会很酷,但正如预期的那样:

TypeError:action不是函数

function test() {
    this.foo = function() {
        console.log('foo');
        return;
    }

    this.bar = function() {
        console.log('bar');
        return;
    }

    return function() {
        console.log('default');
        return;
    }();
}

var action= new test();
action();        //prints 'default'
action.bar();    //printf 'bar'
Run Code Online (Sandbox Code Playgroud)

有可能实现类似的东西吗?

javascript

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

程序结束时PNGImage"访问冲突"错误

我在我的项目中使用PNGImage库,整个GUI由.png图像组成,我在运行时加载到TImages.出于某些目的,我必须动态创建大量彼此相似的组件组.每个组都包含一些TImages,并有一个按钮,允许用户前往另一个页面,其中包含有关被点击项目的更多详细信息.

我正在使用的代码:

procedure TMain_Frame.selection_click(Sender: TObject);
var id: string;
begin
  id := StringReplace(TLabel(sender).Name, 'label_item_select_', '', [rfReplaceAll]);
  hide_created_components; // It does Free all components
  show_details(id);
end; // (1)
Run Code Online (Sandbox Code Playgroud)

Access violation错误发生在(1).奇怪的是它发生完全随机:错误可能在第一次点击时发生,或者可能不会发生10次点击.如果没有发生错误,F8会引导我进入PNGImage库,其中有些东西已完成.但是当发生错误时,F7/8立即抛出它而不做它必须做的事情.只有当我从动态创建的对象转到静态时,才会出现此问题.

CPU窗口显示此ASM代码发生错误:

movzx ecx, [edi]

ecx值为755A2E09,edi为00000000

.Free所有动态创建的组件都是正确的吗?或者应该.Destroy使用?为什么PNGImage会在程序中进入内部end;


演示:

unit Unit1;
interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, pngimage, ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure selection_click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { …
Run Code Online (Sandbox Code Playgroud)

delphi png delphi-7

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

标签 统计

javascript ×2

delphi ×1

delphi-7 ×1

loops ×1

object ×1

png ×1