ECMA262学习笔记(一)
Question1:怎样理解ECMAScript对象?
Answer:ECMAScript对象是属性的集合,每个属性又有零个或者多个特性(如:writable)。属性是持有其他对象、原始值、函数的容器。原始值是一下内置类型之一的成员:Undefined、Null、Number、String、Boolean;对象是内置类型Object的成员;函数是可调用对象(也有的硕士可执行对象),方法是通过属性与对象关联的函数。
Question2:为什么说ECMAScript是基于对象的?
Answer:ECMAScript的基本语言和宿主设施都由对象提供,ECMAScript程序十一组可通信的对象。
Question3:ECMAScript的内置对象(build-in Object)?
Answer:全局对象、Object对象、Function对象、Array对象、Array对象、String对象、Boolean对象、Number对象、Math对象、Date对象、RegExp对象、JSON对象、Error对象。
Question4:怎样理解原型链?
Answer:每个构造器创建的对象,都有一个隐式的引用(_proto_,对象的原型),链接到构造器的“prototype“属性值,原型也可能有一个非空的隐式引用链接到自己的原型,以此类推,这叫做原型链。
Question5:JS中的相关术语的定义?
Answer:
(1)原始值:undefined、null、boolean、number、string类型之一的成员。原始值直接代表语言实现的最底层数据。
(2)对象:对象是属性的集合,并有一个远行对象。原型可以是空值(Null)。
(3)构造器:创建和初始化对象的函数对象。构造器的“prototype”属性值是一个原型对象,它用来实现继承和共享属性。
(4)原型:为其他对象提供共享属性的对象。
(5)原生对象:不是由宿主环境所定义而是由ECMAScript规范定义其语义的对象。一些原生对象是内置的,其他的可在ECMAScript程序执行过程中构建。
(6)内置对象:有ECMAScript实现提供,独立于宿主环境的对象,ECMAScript程序开始执行时就存在。所有的内置对象都是原生对象。
(7)宿主对象:有宿主环境提供的对象,用于完善ECMAScript执行环境。任何对象不是原生对象就是宿主对象。
(8)未定义值:说明一个变量没有被分配值的一个原始值。(是一个原始值,用来说明一个变量没有被分配值!)
(9)未定义类型:拥有唯一值“未定义值”的类型。
(10)空值:代表对象值故意留空的一个原始值。
(11)空类型:拥有唯一值“空值”的类型。
(12)布尔值:布尔类型的成员,只有两个布尔值,true和false。
(13)布尔类型:由原始值true和false组成的类型。
(14)布尔对象:标准内置构造器Boolean的一个实例。通过new表达式,以一个布尔值作为参数调用Boolean构造器来创建布尔对象。由此产生的对象包含一个值为此布尔值的内部属性。一个Boolean对象可以强制转换为布尔值。
(15)字符串值:原始值,他是零个或多个16位无符号呢整数组成的有限有序序列。
(16)字符串类型:所有可能的字符串值的集合。
(17)字符串对象:标准内置构造器String的一个实例。通过使用 new 表达式,以一个字符串值为参数调用 String 构造器来创建字符串对象。由此产生的对象包含一个值为此字符串值的内部属性。将 String 构造器作为一个函数来调用,可将一个字符串对象强制转换为一个字符串值。
(18)数字值:原始值,对应一个64位双精度二进制IEEE754值。
(19)数字类型:所有可能的数字值的集合,包括特殊的NaN值,正无穷,负无穷。
(20)数字对象:标准内置构造器Number的一个实例。通过使用new表达式,以一个数字值作为参数调用Number构造器来创建数字对象。由此产生的对象包含和一个职位此数字值的内部属性。蒋Number构造器作为一个函数来调用,可将一个Number对象强制转换为一个数字值。
(21)无穷:正无穷数字值。
(22)NaN:not a number 值为IEEE 754“Not-a-Number”的数字值。
(23)函数:标准内置构造器Function的一个实例,并且可作为子程序被调用。函数除了拥有命名的属性,还包含可执行代码、状态,用来确定被调用时的行为。函数的代码不限于 ECMAScript。
(24)内置函数:作为函数的内置对象。如 parseInt 和 Math.floor()。
(25)方法:作为属性值的函数。当一个函数被作为一个对象的方法调用,此对象将作为 this 值传递给函数。
(26)内置方法:作为内置函数的方法。
(27)继承属性:不是对象的自身属性,但是是对象原型的属性(原型的自身属性或继承属性)。
ECMA262学习笔记(一)的更多相关文章
- ECMA262学习笔记(二)
Property特性:特性用于定义和解释命名属性的状态. ECMAScript建立执行环境: 解释执行全局代码或使用eval函数输入的代码会创建并进入一个新的执行环境.每次调用ECMA脚本代码定义的函 ...
- cJSON学习笔记
1.JSON格式简述 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成.它基于JavaScript(Standa ...
- 【MarkMark学习笔记学习笔记】javascript/js 学习笔记
1.0, 概述.JavaScript是ECMAScript的实现之一 2.0,在HTML中使用JavaScript. 2.1 3.0,基本概念 3.1,ECMAScript中的一切(变量,函数名,操作 ...
- 微信小程序开发:学习笔记[5]——JavaScript脚本
微信小程序开发:学习笔记[5]——JavaScript脚本 快速开始 介绍 小程序的主要开发语言是 JavaScript ,开发者使用 JavaScript 来开发业务逻辑以及调用小程序的 API 来 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- IDEA开发环境配置
1.JDK 2.Maven 3.Tomcat 当找不到 Artifacts , 可以查看一下: 4.配置 terminal 为 git 终端 5.MySQL 6.文件服务器 7.配置 mybatis
- 基于kettle的简单HTTP接口监控
需求:监控系统中使用的所有http接口,要求简单,易用. 一般的思路也就是发送get/post请求,然后检查接口的响应结果. 如果写代码,要处理http请求,检查http响应,实现发邮件,写d ...
- C++中字符串换行(如何拆分为多行)
在C/C++语言中,可能我们要书写的一个字符串太长了,放在一行上影响代码的可读性.这时我们就需要多行书写了. 字符串多行书写有两种规则: 1. 在字符串换行处加一个反斜杠’\’,下一行前不能有空 ...
- hadoop 二次排序的一些思考
先说一下mr的二次排序需求: 假如文件有两列分别为name.score,需求是先按照name排序,name相同按照score排序 数据如下: jx 20 gj 30 jx 10 gj 15 输出结果要 ...
- bochs的bochsrc说明
########################################## Configuration file for bochs ################### ...
- stm32 HAL库笔记(一)——串口的操作
昨天分析了普通io口的使用,和初始化代码流程,回顾一下,首先定义一个配置io口功能的结构体,然后开启时钟,再去配置这个结构体里面的各个成员变量,每个成员变量都有很多种选择,可以看各个成员变量 后面的注 ...
- zookeeper、solrcloud、rediscluster集群解决方案
集群解决方案 课程目标 目标1:说出什么是集群以及与分布式的区别 目标2:能够搭建Zookeeper集群 目标3:能够搭建SolrCloud集群 目标4:能够搭建RedisCluster集群 ...
- Springboot中对Service层进行集成测试时注意点
@SpringBootTest(classes = {DataSourceAutoConfiguration.class,MybatisAutoConfiguration.class,****Impl ...
- supervisord的安装使用
由于生产环境使用的的tomcat,项目比较重要,所以要做进程守护,本来打算自己写脚本,但是效果不理想,想了下还是用supervisord了 由于很久不用,所以写下来部署步骤 第一:安装,安装的方法有y ...
- js中的“默默的失败”
看阮一峰的js标准教程,看到了“默默的失败”觉得很形象也很无奈, 总结一下都有哪些地方会“默默的失败” 字符串内部的单个字符无法改变和增删,这些操作会默默地失败. var s = 'hello'; d ...