首页  >  文章  >  web前端  >  评估

评估

王林
王林原创
2023-09-03 23:09:06785浏览

评估

以下几点总结了您应该通过阅读本书(并研究代码示例)学到的内容。阅读每个摘要,如果您不明白其中的内容,请返回书中的主题。

  • 对象由存储值的命名属性组成。
  • JavaScript 中的大多数内容都可以像对象一样运行。复数值是对象,而原始值可以像对象一样对待。这就是为什么您可能会听到人们说 JavaScript 中的一切都是对象。
  • 通过使用 new 关键字调用构造函数或使用速记文字表达式来创建对象。
  • 构造函数是对象(Function() 对象),因此,在 JavaScript 中,对象创建对象。
  • JavaScript 提供九个原生构造函数: Object()Array()String()Number()Boolean()Function() Date()RegExp()Error()String()Number()Boolean() 构造函数具有双重用途:在需要时提供 a) 原始值和 b) 对象包装器,以便原始值可以像对象一样工作。
  • nullundefined"string"10truefalse 都是原始值,没有对象性质,除非像对象一样对待。
  • 当 >Object(), Array()<code>Array(), String(), Number(), Boolean(), Function(), Date ()RegExp()Error() 构造函数使用 new, String()李>, Number()
  • , Boolean()"string"10truefalse,
  • , Date ()<li>、<code>RegExp()Error()
  • 构造函数使用
  • 关键字调用,创建一个称为“复杂对象”或“引用对象”的对象。
  • "string"
  • 10
  • true<li> 和 <code>false<code>Array['prototype']['join'].apply() 在其原始形式中没有对象属性,直到它们被用作对象为止;然后 JavaScript 在幕后创建临时包装对象,以便这些值可以像对象一样工作。
  • 原始值按值存储,复制时按字面意思复制。另一方面,复杂对象值通过引用存储,并且在复制时通过引用复制。prototype 属性中查找该属性。如果在那里找不到,因为原型持有一个对象值,并且该值是从 Object() 构造函数创建的,因此在 Object() 构造函数 prototype 属性 (Object) 上查找该属性.prototype)。如果在那里没有找到该属性,则确定该属性为 undefined
  • 当它们的值相等时,原始值与其他原始值相等,而复杂对象仅当它们引用相同的值时才相等。也就是说:当一个复数值引用同一个对象时,两个复数值就等于另一个复数值。
  • prototype由于复杂对象和引用的性质,JavaScript 对象具有动态属性。
  • JavaScript 是可变的,这意味着可以随时操作本机对象和用户定义的对象属性。Object() ,因为 prototype 属性本身就是一个 Object()
  • 获取/设置/更新对象属性是通过使用点符号或方括号符号来完成的。当所操作的对象属性名称采用表达式形式时(例如 Array['prototype']['join'].apply()<li>),括号表示法很方便。</li> <li>引用对象属性时,将使用查找链首先查看属性所引用的对象。如果该属性不存在,则在构造函数 <code>prototype<code>this 属性中查找该属性。如果在那里找不到,因为原型持有一个对象值,并且该值是从 Object()
    构造函数创建的,因此在 Object()<li> 构造函数 <code>prototype<code>this 属性 (Object) 上查找该属性.prototype
    )。如果在那里没有找到该属性,则确定该属性为 undefined<li>。</li> <li><code>prototype 查找链是在 JavaScript 中设计继承(又名原型继承)的方式。
  • 由于对象属性查找链(又名原型继承),所有对象都继承自 Object()<li> ,因为 <code>prototype 属性本身就是一个 Object()<li> 对象。</li> <li>JavaScript 函数是一等公民:函数是具有属性和值的对象。<code>var this<li> 关键字在函数内部使用时,是引用包含该函数的对象的通用方法。<code>var this<li> 的值是在运行时根据调用该函数的上下文确定的。<code>var 在全局范围内使用时,this 关键字引用全局对象。

JavaScript 使用函数来创建唯一的作用域。

JavaScript提供了全局作用域,所有JavaScript代码都存在于这个作用域中。

函数(特别是封装函数)创建用于解析变量查找的作用域链。🎜 🎜作用域链是根据代码编写方式设置的,不一定是根据调用函数的上下文设置的。这允许函数访问其最初编写的作用域,即使该函数是从不同的上下文调用的。这个结果称为闭包。🎜 🎜不使用 var🎜 在函数内部声明的函数表达式和变量将成为全局属性。但是,函数作用域内的函数语句仍然在编写它们的作用域中定义。🎜 🎜在全局作用域中声明的函数和变量(没有 <code>var🎜)将成为全局对象的属性。🎜 🎜在全局范围内声明的函数和变量(使用 <code>var🎜)成为全局变量。🎜 🎜 🎜 🎜结论🎜 🎜感谢您的阅读!🎜

以上是评估的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn