javascript - 在哪里可以找到原型链中函数的变量?
问题描述
function a(){
var name ="Euler Henrique";
var age =32;
}
console.log(a);
如果那是 a 的一个实例,那么当您使用 console.log(a) 时,它会更容易可视化,我到处都遍历原型链并且找不到 var name 和 var age,我需要它用于学习目的。
解决方案
name
并且age
是函数范围内的局部变量。
如果要从a
函数访问变量,则需要将它们添加到函数本身:
function a() {}
// Note that 'name' is a read-only property of Function
// whose value is the name of the whole function
a._name = 'Matías'
a.age = 33
console.log(a._name, a.age)
另一方面,如果您希望这两个属性都成为使用a
构造函数创建的对象的一部分,则需要将它们附加到this
:
function a() {
this.name = 'Matías'
this.age = 33
}
const instance = new a()
console.log(instance)
最后,您可能希望实现模块模式,以便能够发布或使某些变量无法从外部范围访问:
function a() {
var name = 'Matías'
var age = 33
return {
age
}
}
const moduleA = a()
// name isn't published
console.log(moduleA)
推荐阅读
- php - Laravel - 502 错误网关
- java - 未找到 JAX-RS
- reactjs - Express CORS:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问
- javascript - 用另一个字母替换每个字母
- javascript - 带有延迟的jQuery动画
- c# - 未设置对象引用
- javascript - 提交按钮需要点击 2 次才能调用 React 中的函数
- python - 在一行中反转布尔赋值
- c# - 使用 C# 在嵌套 zip 中搜索文件
- javascript - 我想限制用户输入以 5 结尾的数字