让我们考虑一下这种情况:
var firstObject = {
set a(val) {
this._a_ = val;
},
get a() {
return this._a_;
}
}
var secondObject = Object.assign(firstObject);
secondObject.a = 3;
console.log(secondObject.a); // 3
console.log(firstObject.a); // 3
console.log(secondObject.hasOwnProperty('a')); // true
console.log(firstObject.hasOwnProperty('a')); // trueRun Code Online (Sandbox Code Playgroud)
为什么都firstObject和secondObject回报3?原型链如何在这里工作?
我正在使用ansible来自动化机器上的项目部署.在一个案例中,我使用了ansible的expect选项.
我有我的:
# initdb.yml
- hosts: all
vars_prompt:
- name: "username"
prompt: "Username"
private: no
- name: "email"
prompt: "Email"
private: no
- name: "password"
prompt: "Password"
private: yes
roles:
- initdb
Run Code Online (Sandbox Code Playgroud)
并在:
# roles/.../main.yml
- expect:
echo: yes
command: 'env/bin/python manage.py createsuperuser'
timeout: 5
responses:
'Username .*': '{{ username }}'
'Email .*': '{{ email }}'
'Password': '{{ password }}'
'Password (again)': '{{ password }}'
args:
chdir: '{{ repo.path }}'
tags:
- superuser
Run Code Online (Sandbox Code Playgroud)
它是在应用django init迁移后创建超级用户的.
现在让我们谈谈:
当我运行这个并且有人会输入例如太短的密码时,整个过程会挂断,我必须使用 …