- 浏览: 2144703 次
- 性别:
- 来自: 合肥
文章分类
- 全部博客 (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 1499问题:使用knockoutjs的过程中,有时候会发现一些奇怪的 ... -
Javascript Closures闭包、为什么要闭包(闭包作用)、变量作用域
2012-08-10 14:00 2092转自:http://www.jb51.net/article/ ... -
Javascript函数、变量的初始化顺序、Javascript上下文环境
2012-08-07 15:57 1825参考:Initialization of functions ... -
Javascript函数:函数声明、函数表达式、NFE被命名的函数表达式
2012-08-07 15:45 1151参考: functions-declaration ... -
Javascript alert object、JavaScript版本迷局
2012-07-30 15:18 24361,使用alert(object.toSource()) 注 ... -
knockoutjs -- if 绑定
2012-06-14 16:22 13004参考:http://knockoutjs.com/ ... -
jquery Fixture 插件
2012-06-07 10:16 1483jQuery.Fixture插件是一个包含在javascrip ... -
CoffeeScript
2012-04-20 15:05 1793CoffeeScript是一个被编译成javascript的小 ... -
javascriptmvc 3.2.2
2012-04-19 17:10 1323JavaScriptMVC是一个以MIT协议开源的Javasc ... -
knockoutjs -- all built-in buildings
2012-04-16 16:12 978所有可用的binding值 文字和显示:visible, t ... -
knockoutjs -- applyBinding & Observables
2012-04-16 15:35 4471applyBindings ko.applyBindings( ... -
knockoutjs -- load save data(与服务器进行数据交互) & binding绑定
2012-04-10 15:51 6012和服务器交互数据: Knockout 是一纯javascrip ... -
使用ajax和history.pushState无刷新改变页面URL onpopstate(转)
2012-04-10 13:20 11534var htmlData1 = $.ajax( ... -
knockoutjs 单页引用 客户端重定向(location.hash history.pushState)
2012-04-10 10:33 4361大部分现代的,相应的 ... -
knockoutjs foreach array绑定 表格 下拉框绑定
2012-04-09 16:04 11421动态表格使用observable arrays and the ... -
knockoutjs 静动态数据、行为绑定,计算属性及Sync同步更新 Value值更新事件控制
2012-04-09 15:24 9483data-bind="text: firstName ... -
knockoutjs -- 使用Model-View-ViewModel (MVVM) 模式简化动态Javascript UI
2012-04-09 14:35 3785Knockout 是个JavaScript library,帮 ... -
jquery-validation-1.9.0
2012-04-07 15:52 4287jQuery验证插件: 简单高 ... -
textarea文本框限制输入文本数量(Firefox,Chrome,Safari)、Javascript取得字符ASCII码值、常见字符ASCII码值
2012-04-07 10:35 2238// focus用来对应Chrome浏览器往文本框拖入值 ... -
JavaScript高级程序设计读书笔记-事件
2011-11-09 16:53 1452JavaScript和HTML之间的交互是通过用户和浏览器操作 ...
相关推荐
ECMAScript中的引用类型,主要包括Object类、Boolean类、Number类、String类、instanceof运算符
最近为了补js的基础,开坑javascript高程,这书基础部分写得很详细很好读,搭配着MDN进行学习理解。 闲下来的时间记录一下边读边做的笔记,大多是以前编程的时候没注意过的基础知识点。 第一章 JavaScript的完整实现...
在ECMAScript-262只定义了两个内置对象,即Global和Math Global Global对象是ECMAScript中最特别的对象,因为实际上它根本不存在。 由于在ECMAScript中不存在独立的对象,所有函数都必须是某个对象的方法,如前面...
l ECMAScript,有ECMA-262定义,明确javascript这门语言的规则和约定,好比为开始一场游戏指定的游戏规则、规范、约定。 l DOM:提供访问和操作网页内容的方法和接口 l BOM,提供与浏览器交互的方法和接口 ECMA-262规定...
ECMAScript基础,主要包括语法,变量,关键字,保留字,原始值和引用值等
2.9.5、加性运算符 加性运算符(即加号和减号)通常是最简单的运算符,不过在ECMAScript中,每个加性运算符都有大量的特殊行为。 1、加法运算符: 代码如下: var iResult=1+2; console.log(iResult);//outputs 3 ...
ECMAScript中的语句,学习js的朋友可以参考下
ECMAScript中的类型转换,学习js的朋友可以看看
ECMAScript中的运算符,学习js的朋友可以看看
JavaScript高级程序设计(第3版) 自学笔记 1 章 JavaScript 简介 .................................1 1.1 JavaScript 简史 ..........................................1 1.2 JavaScript 实现 .....................
通常而言,JavaScript由ECMAScript核心、BOM和DOM三部分构成,前面的文章将ECMAScript核心部分粗略的过了一
以下的笔记是书上一些我以前学习的时候,没有太重视的js基础知识,也有一些面试知识的拓展,通过博客回顾并加深理解,希望我的学习过程对你有所帮助。 第四章 基本类型和引用类型 在ECMAScript中有两种不同数据类型...
2.6 原始类型 ECMAScript有5种原始类型(primitive type),即Undefined、Null、Boolean、Number和String。ECMAScript提供了typeof来判断值的类型。 1、typeof运算符: 代码如下: var sTemp=”test string”; alert&#...