小编man*_*nta的帖子

理解JavaScript提升和truthy&falsy

我一直在阅读有关JavaScript吊装的消息.

Ben Cherry的JavaScript范围和吊装
Dmitry Soshnikov关于"吊装"的两个词

而且,更多关于JavaScript类型强制,真假测试: 真理,平等和JavaScript以及其他一些资源

在练习一些时,发现我遗漏了一些关于吊装的重要概念和一个变量'truthy&falsy.

1:'if'真实测试,带有重复变量声明

var foo = 1; 
function bar() { 
    if (!foo) { 
    alert('inside if');
        var foo = 10; 
    } 

} 
bar();
Run Code Online (Sandbox Code Playgroud)

O/P: inside if

怀疑: 'foo'值为'1',if(!foo)应该评估false并且不应该执行该块(引用来自上面的资源:提升仅影响var&function声明,但不影响执行).但为什么会显示该警报.如果我直接使用就不是这种情况false(如下面的no-tricks代码所示:代码片段#3)

2:'如果'真值测试没有重复变量声明

var foo = 1; 
function bar() { 
    if (!foo) { 
        alert('inside if');
    } 

} 
bar();
Run Code Online (Sandbox Code Playgroud)

o/p:没有输出; 意味着控制没有进入'如果'块
这是人们可以期待的

3:'if'使用带有重复变量声明的'false'

var foo = 1; 
function bar() { 
    if (false) { 
        alert('inside if');
        var foo = …
Run Code Online (Sandbox Code Playgroud)

javascript type-coercion truthiness hoisting

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

在响应式Web设计中提供资源文件(JS,CSS,图像)的最佳实践

在阅读Not Your Parent的手机:智能手机用户体验设计指南 - 粉碎杂志时,在"数据传输和定价"部分,下面的内容引起了我的注意:

最近有很多关于响应式网页设计的文章.这种方法确实在最小化数据传输方面带来了一些挑 Jason Grigsby对细节进行了非常好的报道.总而言之,CSS媒体查询 - 响应式设计的神奇之处 - 几乎不会减少数据传输到移动设备的开销.调整大小或隐藏不需要的图像仍需要将完整图像下载到浏览器.此外,JavaScript库等资源可能无法下载到移动设备,甚至无法为用户启用.

正如我在阅读Smashing mag文章中提到的Jason Grigsby 的冗长文章时,我想知道是否有人遵循一些最佳实践来避免这些问题?

javascript image mobile-website responsive-design

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

在flutter中使用withConverter获取Firestore文档引用字段的数据

我有以学生教师为类型的约会集合以及其他字段。reference

我想使用 获取约会列表CollectionReference.withConverter。但由于引用字段,我无法获取它们。

示例代码:

FirebaseFirestore.instance.collection('appts').withConverter<Appointment>(
      fromFirestore: (snapshot, _) {
        Map<String, dynamic> appt = snapshot.data()!;

        Student student = await appt['student'] // <---- Error as await is NOT allowed here
                .get()
                .then((studentSnapshot) => Student.fromMap(studentSnapshot.data()!));

        return Appointment.fromMap(
          snapshot.data()!
            ..['id'] = snapshot.id
            ..['student'] = student,
        );
      },
      toFirestore: (appointment, _) => ...,
    );
Run Code Online (Sandbox Code Playgroud)

await不允许,因为withConverter<Appointment>期望fromFirestore返回Appointment对象而不是Future<Appointment>

如果没有await,我会得到Future<Student>,并且不确定如何将完整文档映射到学生类型。

Flutter 的 Firestore 是否会自动获取参考文档,而不是我手动获取它们?

dart firebase flutter google-cloud-firestore

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

静态赋值调用该方法两次

嗯......我无法为这个问题想出更好的头衔

我无法理解为什么调用静态方法并将其值赋给另一个静态成员调用该方法getValue()两次.

如果我在main方法之后移动静态赋值,则它不会加载两次.我知道这是愚蠢的,但我错过了一些明显的东西吗?

public class Test {
    private static Integer value1 = getValue(); // This is causing to load again

    private static Integer flag = null;

    public static Integer getValue() {
        if (flag != null) { // if flag is loaded already, return it.
            return flag;
        }

        System.out.println("Loading value...");

        flag = Integer.valueOf(10);

        return flag;
    }

    public static void main(String[] args) {
        getValue();
    }

    private static Integer value2 = getValue(); // This will not cause to load …
Run Code Online (Sandbox Code Playgroud)

java static

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