小编nic*_*s_r的帖子

JS defineProperty和原型

如您所知,我们可以使用JS定义getter和setter defineProperty().我试图扩展我的班级时遇到困难defineProperty().

这是一个示例代码:

我有一个必须添加到对象的字段数组

fields = ["id", "name", "last_login"]
Run Code Online (Sandbox Code Playgroud)

我还有一个将被修改的课程

var User = (function(){
    // constructor
    function User(id, name){
        this.id     = id
        this.name   = name
    }
    return User;
})();
Run Code Online (Sandbox Code Playgroud)

还有一个函数,它将使用类添加字段 defineProperty()

var define_fields = function (fields){
    fields.forEach(function(field_name){
        var value = null
        Object.defineProperty(User.prototype, field_name, {
            get: function(){ return value }
            set: function(new_value){
                /* some business logic goes here */
                value = new_value
            }
        })
    })
};
Run Code Online (Sandbox Code Playgroud)

运行后define_fields()我在我的实例中有我的字段User

define_fields(fields);
user1 = new User(1, "Thomas")
user2 = …
Run Code Online (Sandbox Code Playgroud)

javascript prototype defineproperty

34
推荐指数
4
解决办法
3万
查看次数

如何在iOS上确定实际视口宽度和高度

当用户缩放页面时,我一直坚持在确定iOS上的页面宽度和高度这样简单的任务.

问题是一些网站有奇怪的布局,看起来像这样:

在此输入图像描述

这是一个未缩放的页面,它的分辨率为1164x1811像素,这是正确的.我从window.innerWidth和获得了这些值window.innerHeight.突出显示的区域是一个主体元素,它的分辨率为1024x1594像素,这很重要.

接下来我使用双指缩放来缩放页面,这就是它的外观:

在此输入图像描述

现在,当我试图让页面大小,我从1024x1594像素window.innerWidth,并window.innerHeight分别.这些值与体型完全相同.

所以问题是如何使用缩放来获得正确的页面大小.

我也在Chrome中测试了这个特殊情况,并得到了正确的结果:无论是缩放,它总是1164x1811像素.

html javascript safari viewport ios

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

Chrome扩展程序font-face mime-type

这个问题我已在服务器上解决,但未在Chrome扩展程序中解决.当我使用加载的自定义字体时,Chrome会向我发出警告@font-face.例如:

@font-face {
    font-family: 'fontello';
    src:  url("../../fonts/fontello.svg#fontello") format('svg');
    font-weight: normal;
    font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

Chrome告诉我这样的事情:

Resource interpreted as Font but transferred with MIME type image/svg+xml: "fonts/fontello.svg#fontello"
Run Code Online (Sandbox Code Playgroud)

所以在服务器上我可以强制设置我的字体的标题,但我可以在Chrome扩展程序中做什么?任何类型的Chrome扩展程序魔术提前感谢.

font-face google-chrome-extension

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

同一个包中的类

我喜欢Intellij IDEA,但我已经堆积在Java导入的一个小问题上.例如,有一个名为"example"的包,其中包含两个不同的类:A.java和B.java.

我想从"B"级进入"A"级而无需进口.像这样:

A类:

package example;

public class A{ ... some stuff here ...}
Run Code Online (Sandbox Code Playgroud)

B级:

package example;

public class B{
    public static void main(String[] args){
        A myVar = new A();
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码可能无效,但无关紧要.使用IDE及其导入类的机制很麻烦.

所以,问题是我看不到来自B的A类.想法说'不能解决符号',但实际上我知道A类存在于包中.下一个奇怪的是编译器工作正常,没有例外.只是IDEA无法在同一个包中看到该类.

有人有什么想法吗?

java intellij-idea

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