数组实际上只是一个数字索引对象 。 唯一的区别是 , 如果它是从您的日志构造的 , 则会获得小括号 , 并且会隐藏索引 。 Array[
我们看到: .[true true true
但实际上它看起来像:.{0: true 1: true 2: true
6. 类数组对象
就像数组可以像对象一样使用一样 , 对象也可以像数组一样使用:
我们将此对象称为“类似数组” , 因为它具有 and 索引 , 但它不是从 构造的 。 前面示例中的对象是类似数组的对象 。 lengthArrayarguments
7. 嵌套函数中的 this 关键字
您可能知道 , 它指的是函数中的全局对象 , 在方法中 , 它引用它所属的对象:this
有道理吧? 始终引用在其中声明函数并在全局作用域中声明的对象 。 thismyFunc
但这实际上不是真的 。 只有方法以这种方式运行 。 当在函数声明中使用时 , 它始终引用全局对象 , 即使它是在方法中声明的!this
这是函数表达式有用的原因之一...
函数表达式导致与声明它们的作用域相同 。 this
8. 函数属性
函数是对象 , 没有duh , 你现在肯定知道这一点 。 如果需要 , 可以向它们添加属性 , 并且它们已经具有属性 , 例如 和。 lengthnamecaller
因此 , 如果我创建一个函数 , 我可以向其添加内容并使用属性访问它们...arguments.callee
但是 , 您也可以在声明函数之前添加 prop:
这是有效的 , 因为函数语句被提升了 , 这意味着javascript将它们从代码中提取出来 , 并在其他任何东西之前定义它们 。
函数文本和函数表达式不会被吊起 , 因此它们都会中断...
但是在第一个示例中已经声明 , 因此我们可以向其添加所需的任何内容 。 myFunc
9. 功能不需要命名 , 当...
...它们被添加到数组中:
...从函数返回:
...赋值给变量:
...当它们被表达时:
10. 功能范围令人困惑
我的意思是 , 您几乎肯定知道这一点 , 但是您是否知道以下每个函数中的含义范围:this
myFunc— 引用, 因为对象方法始终引用它们的对象 。 myObj
myNestedFunc— 指因为脂肪箭头函数始终保持其创建位置的范围 。 myObj
mySuperNestedFunc— 指全球范围!
当一个函数被声明时 , 它总是引用全局范围 。 this
现在就这样!
那里的JS可能已经注意到这些提示大致遵循Javascript The Definitive Guide 。
在过去的几个月里 , 我一直在浏览它 , 并在这里添加了任何让我感到惊讶的东西(我是一个缓慢的读者 , 这是一本大书!
- 软件|安全开发已成共识 但为什么86%的开发人员却表示“做不到”
- MIUI13|红米K50系列更新MIUI13.0.9.0版:比开发版还快的稳定版!
- 量子技术|日本政府野心勃勃,开发量子技术,要求2030年使用者达到1000万人
- 流氓软件|大多数广告弹窗流氓软件都是这么来的!记得要防范~
- iOS|iOS16官方测试开始,开发者很头疼!
- 红米手机|如何雇用Java 开发人员?
- 折叠屏|vivo:首款折叠屏、首款平板电脑,“不必再开发布会了!”
- 三星|三星与西数携手开发ZNS SSD/HDD解决方案,推动下一代存储技术标准化
- 零售业|数字孪生可视化平台开发的应用案例
- 中间件|今年三大运营商必须建60万个5G基站,华为中兴又要发财了
