数组:
在ECMAScript中数组是非常常用的引用类型了。ECMAScript所定义的数组和其他语言中的数组有着很大的区别。那么首先要说的就是数组也是一种对象。特点:“数组”即一组数据的集合。js数组更加类似java的容器。长度可变,元素类型也可以不同!数组长度随时可变!随时可以修改!(length属性)
常用方法:push、popshift、unshiftsplice、sliceconcat、join、sort、reverse等
对于ECMAscript5这个版本的Array新特性补充:位置方法:indexOf lastIndexOf迭代方法:every filter forEach some map缩小方法:reduce reduceRight
Object:
Object每个实例都会具有下列属性和方法:Constructor: 保存着用于创建当前对象的函数。(构造函数)hasOwnProperty(propertyName):用于检测给定的属性在当前对象实例中(而不是原型中)是否存在。isPrototypeOf(Object): 用于检查传入的对象是否是另外一个对象的原型。propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。toLocaleString():返回对象的字符串表示。该字符串与执行环境的地区对应.toString():返回对象的字符串表示。valueOf():返回对象的字符串、数值或布尔表示。
单体对象:
Global对象:(全局)这个对象不存在,无形的对象其内部定义了一些方法和属性:encodeURI,encodeURIComponent、decodeURI、decodeURIComponent、eval、parseInt、parseFloat、isNaN、Escape、 unescape
Math对象:内置的Math对象可以用来处理各种数学运算可以直接调用的方法:Math.数学函数(参数)求随机数方法:Math.random(),产生 [0,1) 范围一个任意数
this:
this对象是在运行时基于函数的执行环境绑定的。在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。也就是说this关键字总是指代调用者。
call、apply
每一个函数都包含两个非继承而来的方法:call、apply。这俩个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。
call、apply的用途之一就是传递参数,但事实上,它们真正强大的地方式能够扩充函数赖以运行的作用域。使用call()、aplly()来扩充作用域的最大好处就是对象不需要与方法有任何耦合关系。call方法简单的实现。
执行环境、作用域链
执行环境(execution context)是javascript中最为重要的一个概念。执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为。每一个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。虽然我们的代码无法访问这个对象,但是解析器在处理数据时会在后台执行它。
全局执行环境是最外围的一个执行环境。根据ECMScript实现所在的宿主环境不同,表示执行环境的对象也不一样。
每一个函数都有自己的执行环境。当执行流进一个函数时,函数的环境就会被推入一个环境栈中。而在函数执行之后,栈将其环境弹出,把控制权返还给之前的执行环境。当代码在一个环境中执行时,会创建变量对象的一个作用域链(scope chain)。作用域链的用途,是保证对执行环境有权访问的所有变量和函数的有序访问。
Closure(闭包)
闭包与函数有着紧密的关系,它是函数的代码在运行过程中的一个动态环境,是一个运行期的、动态的概念。
所谓闭包,是指词法表示包括不必计算的变量的函数。也就是说,该函数能够使用函数外定义的变量.。
在程序语言中,所谓闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落。这些外部执行域的非持久型变量神奇地保留他们在闭包最初定义(或创建)时的值。
原型:
我们创建的每一个函数都有一个prototype属性,这个属性是一个指针,指向一个对象,而这个对象的用途是包含可以由特定类型的所有实例共享的属性和方法。
原型对象实际就是一个构造函数的实例对象,与普通的实例对象没有什么本质上的区别,js中每一个对象都有一个原型对象。不过他比较特殊,该对象所包含的所有属性和方法能够供构造函数的所有实例共享,这就是其他语言所说的继承,而javascript通过原型对象来实现继承,简称原型继承。静态原型继承:Object.prototype.[method field]
isPrototypeOf(实例对象) 判断原型的方法
ECMA5: Object.getPrototypeOf():根据实例对象获得原型对象
object.hasOwnProperty(attribute) 判断属性是否属于对象本身
in 操作符 判断对象中是否存在该属性(无论是实例对象还是原型对象)
ECMA5新特性 Object.keys();拿到当前对象里的所有keys 返回一个数组
ECMA5新特性 Object.getOwnPropertyNames 枚举对象所有的属性 :不管该内部属性能否被枚举
相关推荐
ECMAscript,通常简称ES,是一种脚本语言的标准规范,由欧洲计算机制造商协会(ECMA International)制定,旨在提供一种标准的脚本语言语法和功能,用于各种应用环境中。ECMAscript最著名的实现就是Web浏览器中的...
简单来说,ECMAScript是一种规范或标准,而JavaScript是一种具体的实现,即一种编程语言,它遵循ECMAScript标准。 1. **ECMAScript**: 是一种脚本语言的标准,由ECMA国际组织制定。它定义了脚本语言的核心特性,...
"ECMAScript的一个安全要求实现"着重讨论了如何在使用JavaScript时遵循最佳的安全实践。 首先,理解变量作用域和闭包是确保代码安全的基础。在JavaScript中,变量可以有全局和局部作用域。全局变量在整个应用程序...
ECMAScript标准的开发始于1996年11月,第一版标准在1997年6月的ECMA全体大会上通过。这一版随后被提交给ISO/IEC JTC 1,于1998年4月被批准为国际标准ISO/IEC 16262。1998年6月,ECMA全体大会通过了第二版ECMA-262,...
2009年发布的ECMAScript 5.1版本是JavaScript的一个关键里程碑,它在ECMAScript 3的基础上进行了诸多改进和扩展,为开发者提供了更强大、更稳定的编程环境。本说明将深入探讨ECMAScript 5.1的主要特性和关键知识点。...
Cherow是一个基于ECMAScript实现的高性能、符合标准的JavaScript解析器,它主要用于解析JavaScript代码,将其转化为抽象语法树(AST),这是编译器和解释器中的关键组件。Cherow的设计目标是提供一种轻量级且高效的...
自1998年发布第一版以来,ECMAScript已经经历了多次更新,现在最新的是第六版(ES6),也被称为ECMAScript 2015。 ECMAScript的核心概念包括以下几个方面: 1. **语言概述**:ECMAScript设计为一种轻量级的、解释...
ECMAScript是由Ecma国际标准化组织制定的一个标准,它对JavaScript进行规范化,确保在不同平台和环境中的一致性。自1997年发布第一版以来,ECMAScript已经成为全球最广泛使用的编程语言之一,尤其在Web开发中扮演着...
ECMAscript 2018 于今年2月出炉草案,TC39 技术委员会每两个月开会一次,讨论当前草案的现状。ECMAscript 2018 主要包含内容:异步迭代器:原生支持在 Javascript 中对异步获取的数据做迭代。...
以上知识点仅是JavaScript众多特性和应用的一小部分,《JavaScript权威指南-ECMAScript5.pdf》这本书将详细解析这些概念,并进一步探讨高级话题,如异步编程、性能优化、调试技巧等,帮助读者深入理解并熟练掌握...
**ECMAScript** 是一种脚本语言的标准规范,它定义了 **JavaScript** 的语法和语义。自1997年首次发布以来,ECMAScript 已经成为世界上最广泛使用的通用编程语言之一,尤其是在 Web 浏览器中。随着技术的发展,...
阮一峰所著的《ECMAScript 6 入门》是一本开源的JavaScript语言教程,详细介绍了ES6的新特性。本书适合有一定JavaScript基础的中级读者,旨在帮助他们了解这门语言的最新发展,也可以作为参考手册来查找新增的语法点...
根据提供的文件信息,我们可以推断出这是一本关于ECMAScript 2016标准的书籍,作者为阮一峰。接下来将从标题、描述、标签以及部分内容几个方面出发,来详细阐述ECMAScript 2016的相关知识点。 ### 一、ECMAScript ...
**ECMAScript 6(简称ES6)是JavaScript语言的一个重大升级版本,它引入了许多新的特性和改进,为开发者提供了更强大的工具和更简洁的语法。阮一峰先生的《ECMAScript 6 入门》是一本深入浅出介绍这一版本的权威指南...
**ECMAScript 6(简称ES6)是JavaScript语言的一个重大升级版本,它引入了许多新的特性和改进,为开发者提供了更强大的工具和更简洁的语法。阮一峰老师的《ES6标准入门》第三版是一本深入讲解这些新特性的权威著作,...
ECMAScript 6(简称ES6)是JavaScript语言的一个重要版本更新,它在2015年正式发布,为JavaScript语言带来了大量的新特性和改进。在详细介绍ES6之前,我们需要了解JavaScript的历史以及它与ECMAScript标准的关系。 ...
JavaScript是ECMAScript的一个具体实现,事实上,它是最流行的ECMAScript实现。由于商标法的原因,JavaScript这个名字被Netscape公司注册,而ECMAScript则由ECMA标准化组织制定,这样做的目的是为了保持语言的开放性...
《ECMAScript 6 入门》是一本开源的 JavaScript 语言教程,全面介绍 ECMAScript 6 新引入的语法特性。 本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码...
ECMAScript(ES)是一种标准化的脚本语言,它被广泛应用于Web开发,特别是在JavaScript中。2018年,ECMAScript迎来了其新版本——ECMAScript 2018(也称为ES2018或ES9)。这个版本引入了一些新特性,旨在增强...
标题《Learning ECMAScript 6》表明本文档是一本关于学习ECMAScript 6(ES6)的书籍,这是一门重要的编程语言,被广泛用于前端开发。ES6是JavaScript语言的第六版标准,也是对传统JavaScript语言的一次大规模更新。...