- 浏览: 2159635 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (401)
- Agile (16)
- Apache Commons (3)
- Architecture (8)
- DB.MongoDB (5)
- DB.Mysql (3)
- DB.Oracle (34)
- DirectoryService (1)
- DotNet (1)
- English (3)
- Groovy (0)
- Html (28)
- Java (67)
- Java.Aixs (7)
- Java.Cache (2)
- Java.jPBM (1)
- Java.Resin (6)
- Java.Spring (4)
- Java.Struts2 (5)
- Java.Tomcat (16)
- Javascript (45)
- Javascript.Google Map (2)
- Javascript.Jquery (8)
- Life (15)
- Maven&Ant (4)
- Network (5)
- OS.Linux (45)
- OS.Windows (10)
- OS.Windows.Office (1)
- PlayFramework (15)
- Python (28)
- Reading notes (11)
- Security (13)
- Server.Apache (3)
- Server.Nginx (7)
- Test (6)
- Tool (15)
- Work.Solution (15)
- Other (20)
- SSO&CAS&Identity (13)
最新评论
-
hutuxiansheng123:
防火墙、Iptables、netfilter/iptables、NAT 概述 -
dacoolbaby:
非常棒的正则表达式,非常适用。万分感谢。
用python分析nginx的access日志 -
loot00:
您好! 我也遇到了相同的错误信息。我是用f_link_lob ...
LOB variable no longer valid after subsequent fetch -
feihangchen:
@OnApplicationStop public clas ...
Play framework 1.2.3 Jobs定时任务、异步任务、引导任务、触发任务、关闭任务 -
洞渊龙王:
谢谢了
www.w3.org被qiang导致logback报错:Connect reset
ECMAScript的基础语法:
变量:
变量名遵循规则:第一个字符必须是字母、下划线或美元符号,余下的字符可以是字母、下划线、美元符号或数字字符。
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对象具有下列属性:
上面列出的所有属性和方法可以被其子对象覆盖。
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)
- 区分大小写
- 变量是弱类型的
- 每行结尾的分号可有可无(如果没有分号,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)
发表评论
-
knockoutjs 变量引用方式、怪异问题排查
2012-08-24 15:01 1535问题:使用knockoutjs的过程中,有时候会发现一些奇怪的 ... -
Javascript Closures闭包、为什么要闭包(闭包作用)、变量作用域
2012-08-10 14:00 2119转自:http://www.jb51.net/article/ ... -
Javascript函数、变量的初始化顺序、Javascript上下文环境
2012-08-07 15:57 1851参考:Initialization of functions ... -
Javascript函数:函数声明、函数表达式、NFE被命名的函数表达式
2012-08-07 15:45 1183参考: functions-declaration ... -
Javascript alert object、JavaScript版本迷局
2012-07-30 15:18 24691,使用alert(object.toSource()) 注 ... -
knockoutjs -- if 绑定
2012-06-14 16:22 13027参考:http://knockoutjs.com/ ... -
jquery Fixture 插件
2012-06-07 10:16 1508jQuery.Fixture插件是一个包含在javascrip ... -
CoffeeScript
2012-04-20 15:05 1818CoffeeScript是一个被编译成javascript的小 ... -
javascriptmvc 3.2.2
2012-04-19 17:10 1358JavaScriptMVC是一个以MIT协议开源的Javasc ... -
knockoutjs -- all built-in buildings
2012-04-16 16:12 1002所有可用的binding值 文字和显示:visible, t ... -
knockoutjs -- applyBinding & Observables
2012-04-16 15:35 4494applyBindings ko.applyBindings( ... -
knockoutjs -- load save data(与服务器进行数据交互) & binding绑定
2012-04-10 15:51 6051和服务器交互数据: Knockout 是一纯javascrip ... -
使用ajax和history.pushState无刷新改变页面URL onpopstate(转)
2012-04-10 13:20 11557var htmlData1 = $.ajax( ... -
knockoutjs 单页引用 客户端重定向(location.hash history.pushState)
2012-04-10 10:33 4395大部分现代的,相应的 ... -
knockoutjs foreach array绑定 表格 下拉框绑定
2012-04-09 16:04 11459动态表格使用observable arrays and the ... -
knockoutjs 静动态数据、行为绑定,计算属性及Sync同步更新 Value值更新事件控制
2012-04-09 15:24 9508data-bind="text: firstName ... -
knockoutjs -- 使用Model-View-ViewModel (MVVM) 模式简化动态Javascript UI
2012-04-09 14:35 3809Knockout 是个JavaScript library,帮 ... -
jquery-validation-1.9.0
2012-04-07 15:52 4310jQuery验证插件: 简单高 ... -
textarea文本框限制输入文本数量(Firefox,Chrome,Safari)、Javascript取得字符ASCII码值、常见字符ASCII码值
2012-04-07 10:35 2268// focus用来对应Chrome浏览器往文本框拖入值 ... -
JavaScript高级程序设计读书笔记-事件
2011-11-09 16:53 1485JavaScript和HTML之间的交互是通过用户和浏览器操作 ...
相关推荐
这份“JavaScript高级程序设计---笔记归类.pdf”文档显然详细整理了JavaScript的关键知识点,包括ECMAScript规范、DOM操作、数据类型、运算符、流程控制语句、函数以及面向对象编程等。 首先,ECMAScript是...
这份笔记主要基于《JavaScript高级程序设计》这本书,旨在深入探讨ECMAScript、DOM操作以及各种编程特性。 首先,ECMAScript是JavaScript的基础,它定义了语言的语法和基本对象。学习纪要中提到的ECMAScript部分...
本文将深入探讨在"javascript高级程序设计笔记第一章"中提及的关键概念。 首先,ECMAScript(通常简称为ES)是JavaScript的标准化规范,由ECMA国际维护。在ECMAScript中,存在五种基本数据类型:Undefined、Null、...
在《JavaScript高级程序设计》中,对ECMAScript中引用类型的相关知识点进行了详细阐述。引用类型在JavaScript中是非常重要的概念,它们相较于原始类型而言,在内存中占有较大的比重,并且其行为也更为复杂。以下是对...
- **ECMAScript**: 定义了语言的基本语法和核心功能,是JavaScript的基础。 - **DOM (Document Object Model)**: 描述了文档对象模型的接口,允许程序和脚本动态地访问和更新文档的内容、结构和样式。 - **BOM ...
JavaScript程序设计的基础篇涵盖了编程语言的基本概念和基础知识,这些概念和知识是进一步学习JavaScript深入内容的前提和基础。了解和掌握这些知识点,对于前端开发工程师的学习和工作至关重要。随着前端技术的不断...
在深入探讨JavaScript高级编程技术之前,我们首先需要了解ECMAScript的基础知识。ECMAScript是由ECMA国际通过ECMA-262标准定义的脚本语言的标准化规范,它是JavaScript语言的基础。在这部分笔记中,我们将涵盖...
在深入探讨JavaScript编程语言之前,...在《JavaScript高级程序设计》这本书中,作者深入探讨了这些概念,并提供了一系列实用的编程技巧和最佳实践,这对于任何希望深化JavaScript知识的开发者来说都是一份宝贵的资源。
在ECMAScript-262只定义了两个内置对象,即Global和Math Global Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在。 由于在ECMAScript中不存在独立的对象,所有函数都必须是某个对象的方法,如前面...
### JavaScript高级程序设计阅读笔记(七):ECMAScript中的语句 #### 一、引言 本篇文章基于《JavaScript高级程序设计》一书第七章的内容进行总结与扩展,主要探讨了ECMAScript中的各种语句类型及其用法。通过...
### JavaScript高级程序设计阅读笔记(六):ECMAScript中的运算符(二) #### 加性运算符 在ECMAScript中,加性运算符主要包括加号`+`和减号`-`。虽然这些运算符的基本功能看似简单,但在实际应用中却有着较为...
在JavaScript高级程序设计中,类型转换是至关重要的概念,特别是在处理不同数据类型的变量时。ECMAScript中的类型转换主要包括转换成字符串、转换成数字以及强制类型转换。 首先,我们来看字符串转换。每个...
ECMA(欧洲计算机制造商协会)制定了ECMAScript标准,自1997年以来,这一标准成为了JavaScript的核心,确保了不同浏览器对语言的一致支持。随着版本更新,ECMAScript 5在2009年发布,增强了语言的特性和规范。 ...