小编ran*_*uff的帖子

重点输入省略号

我有一个带有占位符的输入元素,它需要一个 CSS 省略号。当输入没有焦点时,省略号正常工作,但是当我单击输入字段时,省略号消失,我看到完整的占位符。我如何防止这种情况发生?

css input ellipsis placeholder

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

"this"如何在构造函数中分配的函数中工作?

我找到了这个示例代码:

function personFullName() {
    return this.first + ' ' + this.last;
}

function Person(first, last) {
    this.first = first;
    this.last = last;
    this.fullName = personFullName;
}

var dude = new Person("Michael", "Jackson");
alert(dude.fullName());
Run Code Online (Sandbox Code Playgroud)

哪个警告"迈克尔杰克逊".我将其更改为personFullName从构造函数调用而不是分配函数对象:

function personFullName() {
    return this.first + ' ' + this.last;
}

function Person(first, last) {
    this.first = first;
    this.last = last;
    this.fullName = personFullName();
}

var dude = new Person("Michael", "Jackson");
alert(dude.fullName);
Run Code Online (Sandbox Code Playgroud)

我希望"fullName"属性现在是一个字符串而不是一个函数.但现在它警告"undefined undefined".任何人都可以解释为什么我的版本不起作用?

javascript constructor function this

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

堆栈上的变量是“静态分配的”吗?

我在阅读这篇文章时看到了这样的内容:“本文假设您至少已经基本了解并理解 GNU/Linux 系统中的内存映射是如何工作的,特别是堆栈中静态分配的内存与堆栈中动态分配的内存之间的区别堆。”

这让我很困惑,因为我认为堆栈和堆是动态分配的,意味着仅在必要时分配,而全局变量和在函数内部声明为“静态”的变量是静态分配的,意味着始终分配。

例如,如果我有

void f() {
    int x = 1;
    ...
}
Run Code Online (Sandbox Code Playgroud)

仅当调用函数 f() 时,值 1 才会被放入堆栈,并且堆栈指针只会递增。同样,如果我有

void f() {
    int x = malloc(1 * sizeof(int));
    ...
}
Run Code Online (Sandbox Code Playgroud)

仅当调用 f() 时才会分配堆内存。但是,如果我有“int x = 1;” 在程序的全局部分或“static int x = 1;” 在函数体内,每当我运行该程序时,该内存都将在数据部分中分配值为 1。

我对这一切有错吗?

c heap-memory dynamic-memory-allocation stack-memory static-allocation

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