`
desert3
  • 浏览: 2159635 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

JavaScript高级程序设计读书笔记-ECMAScript基础

 
阅读更多
ECMAScript的基础语法:
  • 区分大小写
  • 变量是弱类型的
  • 每行结尾的分号可有可无(如果没有分号,ECMAScript就把这行代码的结尾看作该语句的结尾
  • 注释与Java、C和PHP语言的注释相同 //    /* … */
  • 括号表明代码块{ }

变量:
变量名遵循规则:第一个字符必须是字母、下划线或美元符号,余下的字符可以是字母、下划线、美元符号或数字字符。

Camel标记法 myTestValue
Pascal标记法 MyTestValue
匈牙利类型标记法 iMyTestValue
类型、前缀(数组a 布尔型b 浮点型数字f 函数fn 整形数字i 对象o 正则表达式re 字符串s 变型(可以是任何类型)v)

原始类型:
ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String
undefined是声明了变量但未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象。如果函数或者方法要返回的是对象,那么找不到该对象时,返回的通常是null。
引用类型:
遇到引用值时,所处理的就是对象。
ECMAScript并不真正具有类。事实上,除了说明不存在类,在ECMA-262中根本就没有出现“类”这个词,ECMAScript定义了“对象定义”,逻辑上等价于其他程序设计语言中的类

Object对象,ECMAScript中的所有对象都由这个对象继承而来(通过prototype原型链),Object对象中的所有属性和方法都会出现在其他对象中。
Object对象具有下列属性:
  • Constructor:对创建对象的函数的引用(指针)。对于Object对象,该指针指向原始的object()函数。
  • Prototype:对该对象的对象原型的引用。
  • Object对象还有几个方法:
  • HasOwnProperty(property):判断对象是否有某个特定的属性。o.hasOwnProperty(“name”)
  • IsPrototypeOf(object):判断该对象是否为另一个对象的原型。
  • PropertyIsEnumerable(property):判断给定的属性是否可以用for…in语句进行枚举(可以枚举到原型链中的属性)。
  • ToString():返回对象的原始字符串表示。对于Object对象,ECMAScript没有定义这个值,所以不同的ECMAScript实现具有不同的值。
  • ValueOf():返回最适合该对象的原始值。对于许多对象,该方法返回的值都与ToString()的返回值相同。

上面列出的所有属性和方法可以被其子对象覆盖。

instanceOf运算符:
在使用typeof运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回“object”。ECMAScript引入了另外一个运算符instanceof来解决这个问题。
alert(oStringObject instanceof String);

运算符:
delete:运算符删除对以前定义的对象属性或者方法的引用。(不能删除原始的ECMAScript中定义的方法

void:运算符对任何值都返回undefined。该运算符通常用来避免输出不应该输出的值。
例如,从HTML的<a>元素调用JavaScript函数时,函数不能返回有效值,否则浏览器将清空<a>所在的页面,并显示函数的结果
例如:<a href=”javascript:window.open(‘about:blank’)”>Click Me</a>,如果把这行代码放入到HTML页面,点击其中的链接,即可看到原始页面的屏幕上显示“[object]”。这是因为window.open方法返回了对新打开窗口的引用。然后该对象被转换成要显示的字符串。
要避免这种情况,可以用void运算符调用window.open函数:
<a href=”javascript:void(window.open(‘about:blank’))”>Click Me</a>
这使<a>接收到的返回值为undefined,它不是有效的值,不会显示在浏览器的窗口中。记住,没有返回值的函数真正返回的都是undefined

前后增量、前后减量运算符i++ ++i i-- --i
一元加法,一元减法:
位运算符
逻辑运算符:! & ||
无重载:
ECMAScript中的函数不能重载。考虑到ECMAScript与其他支持重载的高级程序设计语言相似,所有它不支持重载的特点不免让人感到意外。可用相同的名字在同一作用域中定义两个函数,而不会引发错误,但真正使用的是后一个函数

arguments:
在函数代码中使用arguments,开发者无需明确指出参数名,就能访问它们
arguments.length
与其他程序设计语言不同,ECMAScript不会验证传递给函数的参数个数是否等于函数定义的形式参数。开发者定义的函数都可以接受任意个数的参数(根据Netscape的文档,最多能接受25个),而不会引发任何错误。任何遗漏的参数都会以undefined传递给函数,多余的参数将忽略。

ECMAScript支持闭包(closure)
0
0
分享到:
评论

相关推荐

    Javascript高级程序设计---笔记归类.pdf

    这份“JavaScript高级程序设计---笔记归类.pdf”文档显然详细整理了JavaScript的关键知识点,包括ECMAScript规范、DOM操作、数据类型、运算符、流程控制语句、函数以及面向对象编程等。 首先,ECMAScript是...

    Javascript高级程序设计---笔记.pdf

    这份笔记主要基于《JavaScript高级程序设计》这本书,旨在深入探讨ECMAScript、DOM操作以及各种编程特性。 首先,ECMAScript是JavaScript的基础,它定义了语言的语法和基本对象。学习纪要中提到的ECMAScript部分...

    javascript高级程序设计笔记第一章.docx

    本文将深入探讨在"javascript高级程序设计笔记第一章"中提及的关键概念。 首先,ECMAScript(通常简称为ES)是JavaScript的标准化规范,由ECMA国际维护。在ECMAScript中,存在五种基本数据类型:Undefined、Null、...

    《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型

    在《JavaScript高级程序设计》中,对ECMAScript中引用类型的相关知识点进行了详细阐述。引用类型在JavaScript中是非常重要的概念,它们相较于原始类型而言,在内存中占有较大的比重,并且其行为也更为复杂。以下是对...

    JavaScript基础笔记-尚硅谷视频自己总结

    - **ECMAScript**: 定义了语言的基本语法和核心功能,是JavaScript的基础。 - **DOM (Document Object Model)**: 描述了文档对象模型的接口,允许程序和脚本动态地访问和更新文档的内容、结构和样式。 - **BOM ...

    《JavaScript程序设计》笔记(基础1)

    JavaScript程序设计的基础篇涵盖了编程语言的基本概念和基础知识,这些概念和知识是进一步学习JavaScript深入内容的前提和基础。了解和掌握这些知识点,对于前端开发工程师的学习和工作至关重要。随着前端技术的不断...

    《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础

    在深入探讨JavaScript高级编程技术之前,我们首先需要了解ECMAScript的基础知识。ECMAScript是由ECMA国际通过ECMA-262标准定义的脚本语言的标准化规范,它是JavaScript语言的基础。在这部分笔记中,我们将涵盖...

    对javascript的一点点认识总结《javascript高级程序设计》读书笔记

    在深入探讨JavaScript编程语言之前,...在《JavaScript高级程序设计》这本书中,作者深入探讨了这些概念,并提供了一系列实用的编程技巧和最佳实践,这对于任何希望深化JavaScript知识的开发者来说都是一份宝贵的资源。

    JavaScript高级程序设计 读书笔记之十一 内置对象Global

    在ECMAScript-262只定义了两个内置对象,即Global和Math Global Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在。 由于在ECMAScript中不存在独立的对象,所有函数都必须是某个对象的方法,如前面...

    JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句

    ### JavaScript高级程序设计阅读笔记(七):ECMAScript中的语句 #### 一、引言 本篇文章基于《JavaScript高级程序设计》一书第七章的内容进行总结与扩展,主要探讨了ECMAScript中的各种语句类型及其用法。通过...

    JavaScript高级程序设计阅读笔记(六) ECMAScript中的运算符(二)

    ### JavaScript高级程序设计阅读笔记(六):ECMAScript中的运算符(二) #### 加性运算符 在ECMAScript中,加性运算符主要包括加号`+`和减号`-`。虽然这些运算符的基本功能看似简单,但在实际应用中却有着较为...

    JavaScript高级程序设计 阅读笔记(四) ECMAScript中的类型转换

    在JavaScript高级程序设计中,类型转换是至关重要的概念,特别是在处理不同数据类型的变量时。ECMAScript中的类型转换主要包括转换成字符串、转换成数字以及强制类型转换。 首先,我们来看字符串转换。每个...

    JS高级程序设计-核心笔记.docx

    ECMA(欧洲计算机制造商协会)制定了ECMAScript标准,自1997年以来,这一标准成为了JavaScript的核心,确保了不同浏览器对语言的一致支持。随着版本更新,ECMAScript 5在2009年发布,增强了语言的特性和规范。 ...

Global site tag (gtag.js) - Google Analytics