JavaScript权威指南 第六版 第六章 笔记

2024-02-11 16:38

本文主要是介绍JavaScript权威指南 第六版 第六章 笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.

除了字符串,数字,true,false,null和undefined之外,JavaScript中的值都是对象。尽管字符串,数字和布尔值不是对象,但它们的行为和不可变对象非常类似。

2.

每个属性还有一些与之相关的值,称为“属性特性”:

可写:表明是否可以设置该属性的值。

可枚举:表明是否可以通过for/in循环返回该属性

可配置:表明是否可以删除或修改该属性。


3.

除了包含属性之外,每个对象还拥有三个相关的对象特性:

对象的原型(prototype)指向另外一个对象,本对象的属性继承自它的原型对象。

对象的类(class)是一个标识对象类型的字符串

对象的扩展标记(extensible flag)指明了是否可以向该对象添加新属性。


4.

内置对象(native Object)由ECMAScript规范定义的对象或类。例如,数组,函数,日期和正则表达式都是内置对象。

宿主对象(host object)是由JavaScript解释器所嵌入的宿主环境(比如Web浏览器)定义的。

自定义对象

自有属性是直接在对象中定义的属性。

继承属性是在对象的原型对象中定义的属性


5.

存储器属性定义为一个或两个和属性同名的函数,这个函数定义没有使用function关键字,而是使用get和set。


6.

除了名字和值之外,属性还包含一些标识它们可写,可枚举,可配置的特性。

数据属性的4个特性:它的值(value),可写性(writable),可枚举性(enumerable)和可配置性(configurable).

存储器属性不具有值和可写性。它们的可写性是由setter方法存在与否决定的。

属性描述符对象(property descriptor),这个对象代表那4个属性。

其中writable,enumerable和configurable都是布尔值,set属性和get属性是函数值。


7.

Object.getOwnPropertyDesription()可以获得某个对象特定属性的属性描述符。

从名字就可以看出,Object.getOwnPropertyDescriptor()只能得到自有属性。

要想获得继承属性的特性,需要遍历原型链getPrototypeOf().

要想设置属性的特性,或者要想让新建属性具有某种特性,需要调用Object.definePeoperty().不能修改继承的属性

8.

每一个对象都有与之相关的原型(prototype),类(class)和可扩展性(extensible attribute).

通过将对象传入Object.esExtensible(),来判断该对象是否是可扩展的。

如果想将对象转为不可扩展的,需要调用Object.preventExtensions(),将待转换的对象作为参数传进去。

preventExtensions()只影响到对象本省的可扩展性。如果给一个不可扩展的对象的原型添加属性,这个不可扩展的对象同样会继承这些属性。

Object.seal()和Object.preventExtensions()类似,除了能够将对象设置为不可扩展的,还可以将对象的所有属性都设置为不可配置的。

Object.freeze将更为严格地锁定对象,除了将对象设置为不可扩展的和将属性设置为不可配置为,还可以将它自有的所有数据属性设置为只读的。


9.

对象序列化(serialization)是指将对象的状态转换为字符串,也可以将字符串还原为对象。

内置函数JSON.stringify()和JSON.parse()用来序列化和还原JavaScript对象

JSON.stringify()只能序列化对象可枚举的自有属性。


10.

对象方法

所有JavaScript对象都从Object.prototype继承属性。

例如:hasOwnProperty(),propertyIsEnumerable()和isPrototypeOf()以及在Object构造函数里定义的静态函数Object.create()和Object.getPrototypeOf()等。

toString().

toLocaleString() //返回一个表示这个对象的本地化字符串。

toJson() 

这篇关于JavaScript权威指南 第六版 第六章 笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/700291

相关文章

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

springboot下载接口限速功能实现

《springboot下载接口限速功能实现》通过Redis统计并发数动态调整每个用户带宽,核心逻辑为每秒读取并发送限定数据量,防止单用户占用过多资源,确保整体下载均衡且高效,本文给大家介绍spring... 目录 一、整体目标 二、涉及的主要类/方法✅ 三、核心流程图解(简化) 四、关键代码详解1️⃣ 设置

Java Spring ApplicationEvent 代码示例解析

《JavaSpringApplicationEvent代码示例解析》本文解析了Spring事件机制,涵盖核心概念(发布-订阅/观察者模式)、代码实现(事件定义、发布、监听)及高级应用(异步处理、... 目录一、Spring 事件机制核心概念1. 事件驱动架构模型2. 核心组件二、代码示例解析1. 事件定义

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再