小编Ala*_*zek的帖子

无法声明或修改变量

我有一个关于JavaScript的问题.当我声明新变量并为其分配新的类实例时,如果抛出错误,则变量完全无法使用.

下面的代码应该抛出错误

class MyClass {


    constructor (config) {

        this.someProperty = config.someProperty || '';

    }


}

let myClassInstance = new MyClass();
Run Code Online (Sandbox Code Playgroud)

如果我尝试为其分配内容,JavaScript将引发错误.

myClassInstance = '123'

未捕获的ReferenceError:未定义myClassInstance

然后我尝试定义变量

let myClassInstance = '123'

未捕获的SyntaxError:已声明标识符'myClassInstance'

变量也无法删除.我们可以用这个问题做些什么吗?我只是很好奇,当然我会处理将undefined作为配置传递给构造函数.

编辑:我也尝试使用var,然后我可以重用myClassInstance.我想知道为什么如果我使用let变量无法删除,声明或新值不能重新分配.

编辑2:我可以处理传递undefined或传递空对象.只是纯粹的好奇心在JS控制台中使用该变量会发生什么,如果您一次粘贴所有内容,代码将无法执行

javascript variables class let ecmascript-6

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

Chrome重定向后不会发送Cookie

在node.js中(使用Hapi框架)我正在为用户创建链接以允许我的应用程序读取用户帐户.Google处理该请求并询问是否授予权限.然后谷歌使用GET参数作为响应代码重定向到我的服务器,这里我有一个问题.

Google Chrome不会发送包含会话ID的Cookie.

如果我将该cookie标记为cookie编辑扩展中的会话cookie,则会发送该cookie.php中的行为相同,但php在创建会话时将cookie标记为会话,因此不存在问题.我正在使用插件hapi-auth-cookie,它创建会话并处理有关它的一切.我还在hapi-auth-cookie设置中将该cookie标记为非HttpOnly,因为这是第一个区别,我注意到,当我在node.js中检查那个PHP会话cookie和我的时候.我在每次重定向都有响应401缺少身份验证.如果我将光标放在地址栏并按Enter键,一切正常,所以这是重定向的问题.

我的问题基本上是,可能导致这种行为的原因.另一方面,我必须提到firefox在每个请求之后发送cookie而没有任何问题.

重定向后的标题(没有会话cookie):

{
    "host": "localhost:3000",
    "connection": "keep-alive",
    "cache-control": "max-age=0",
    "upgrade-insecure-requests": "1",
    "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
    "x-client-data": "CJS2eQHIprbJAQjEtskECKmdygE=",
    "x-chrome-connected": "id=110052060380026604986,mode=0,enable_account_consistency=false",
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "accept-encoding": "gzip, deflate, sdch, br",
    "accept-language": "pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4"
}
Run Code Online (Sandbox Code Playgroud)

点击进入地址栏后的标题(什么工作正常):

{
    "host": "localhost:3000",
    "connection": "keep-alive",
    "cache-control": "max-age=0",
    "upgrade-insecure-requests": "1",
    "user-agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "accept-encoding": "gzip, deflate, sdch, br",
    "accept-language": "pl-PL,pl;q=0.8,en-US;q=0.6,en;q=0.4",
    "cookie": "SESSID=very_long_string"
}
Run Code Online (Sandbox Code Playgroud)

cookies redirect google-chrome node.js hapijs

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