- 浏览: 322708 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (312)
- 细细品味-Java (104)
- 细细品味-Xml (9)
- 细细品味-Json (6)
- 细细品味-Ajax (2)
- 细细品味-Jdbc (3)
- 细细品味-Ibatis (8)
- 细细品味-Oracle (4)
- 细细品味-Spring (10)
- 细细品味-Struts2 (8)
- 细细品味-Lucene (9)
- 细细品味-Jquery (36)
- 细细品味-Eclipse (6)
- 细细品味-Javascrip (28)
- 细细品味-Hibernate (9)
- 细细品味-WebService (6)
- 细细品味-Javascript API (6)
- 细细品味-ArcGIS Server (6)
- 细细品味-Flex (4)
- 细细品味-Linux (11)
- 细细品味-SVG (16)
- 细细品味-html5 (27)
- 细细品味-Shiro (1)
- 细细品味-Maven (3)
- 细细品味-Mysql (4)
- 细细品味-Tomcat (3)
- 细细品味-Android (0)
- 细细品味-Windows (1)
- 细细品味-Google Guava (21)
- 细细品味-FusionCharts (2)
- 细细品味-算法 (10)
- 细细品味-Dojo框架 (2)
- 细细品味-Http协议 (1)
- 细细品味-地理编码 (14)
- 细细品味-中文乱码 (3)
- 细细品味-数据结构 (2)
- 细细品味-面试题 (1)
- 设计模式 (0)
- 杂谈小记 (3)
- 随笔小记 (4)
- three.js (1)
- 细细品味-云计算&虚拟化 (0)
- 细细品味-架构 (1)
- 细细品味-系统优化 (1)
- 细细品味-hbase (1)
- 细细品味-hadoop (5)
- 细细品味-hive (3)
- 细细品味-flume (1)
- 细细品味-hdfs (2)
- 细细品味-微服务 (1)
- 细细品味-Spring Boot (1)
最新评论
-
final7tifa:
感觉写的挺好
封装JAVA 通过反射 POI导出Excel文件(直接可用 含测试代码) -
漆停停:
...
封装JAVA 通过反射 POI导出Excel文件(直接可用 含测试代码) -
sybell:
很是不错的文章,不过要达到熟练使用,都还在实际项目中使用。
Effective Java学习(并发)之——同步访问共享可变数据
JavaScript的核心之一ECMAScript的语言特性和Java、C、Perl都有许多相似之处,其中不少特性都是从这些语言借鉴而来,同时它们之间也存在许多差异。下面列举一些ECMAScript的基本特性。
--和Java一样,ECMAScript区分大小写,注释的格式相同,通过{}确定代码块,原始数据类型存储在堆栈,对象的引用存储在堆中
--ECMAScript是一种松散的语言,ECMAScript通过var操作符声明变量,并且不限类型,例如var n = 25,那么n就是数字类型,var n = "string" ,那么n就是String类型
--在每一行代码后,可以不写分号,ECMAScript自动认为该行的末尾为该行代码的最后;ECMAScript中的变量可以不用初始化,在幕后系统将自动完成初始化操作
--同一变量可以赋予不同类型的数据;变量的第一个字符只能是字母、下划线或$ ,其他的字符可以是下划线、$、或任意的字母、数字、字符
--和其他语言一样,变量最好遵循驼峰书写法,或Pascal表示法、或匈牙利表示法
--和大多数语言不同的是, ECMAScript 变量在使用之前可以不必声明,系统会自动将该变量声明为全局变量,例如var m = " Good " ; n = m + " Morning " ; alert(n)输出结构是 " Good Morning "
--在大多数语言里,String是对象,在ECMAScript中却是原始数据类型
原始数据类型
ECMAScript原始数据类型有五种:Undefined、Null、Boolean、Number、String。
typeof—判断变量和值的数据类型,通常有#ff0000、boolean、number、string、object五种类型。
Undefined—当变量被声明但没有初始化,或函数没有明确返回一个值的时候,该变量或函数即为 Undefined 类型。
Null—undefined是null的一种派生,当代表一个对象的值不存在时,该对象返回null。
Boolean—包含两个值,true and false , false不等于0,但0可以转换为false 。
Number—可以定义32位整型数据或64位浮点型数据。定义数字类型变量时,在数字前加0即为八进制,加0x为十六进制,它们计算后返回的结果统一为十进制。通过var f = 1.0可以定义一个浮点类型变量,有意思的是,当f被用于计算之前,它实际是以 String类型存储的。当浮点类型数据很大或很小时(可以前后移动六位),将使用E表示法来表示浮点数据,最大可以存储17位数据。另外, isFinite()方法可以判断一个数值是否有限,isNaN()方法可以判断一个数据是非数字类型。
String—String在ECMAScript中是原始数据类型,并且是唯一没有空间大小限制的数据类型。和Java不同的是,var s = " javascript " 和var s = 'javascript'均是合法的表示方法。
数据转换
在不同数据类型之间转换是任何一门编程语言的一个重要特性,ECMAScript提供了一系列简单的方法来实现数据的转换,大多数数据类型都提供了简单的转换方法,对于复杂的转换则有一些全局方法来完成,不管是哪一种方法,ECMAScript中数据转换都非常简单。
Boolean、number和string数据类型是原始数据类型,但它们同时是伪对象(在ECMAScript中伪对象到底该怎么解释,运行机制如何还不清楚?有人知道请给予解答),拥有自己的属性和方法,可以通过toString()方法来实现string类型的转换。ECMAScript定义所有的对象,不管是伪对象还是真实的对象,都可以实现toString()方法,string被列为伪对象的行列,自然也拥有toString()方法。将数字类型数据转换为string的时候,可以在 toString() 方法中加入2、8、16参数,来实现不同进制的数据输出,例如var n = 10; alert(n.toString(2))输出为1010,alert(n.toString(8))输出为12,n.toString()和 n.toString(10)相同。
ECMAScript提供了两种方法来实现string类型转化为数字类型的方法:parseInt()和parseFloat()。其他类型转换将会返回 NaN(Not a Number)。
Type Casting
ECMAScript数据类型的转换通常可以通过三个方法来实现:Boolean(value)、Number(value)和String(value),这样通常会产生一些非预期的结果。
Boolean
var b2 = Boolean( " hi " ); // true–non-empty string
var b3 = Boolean( 100 ); // true–non-zero number
var b4 = Boolean( null ); // false-null
var b5 = Boolean( 0 ); // false-zero
var b6 = Boolean( new Object()); // true–object
Number
Number( true ) 1
Number(undefined) NaN
Number( null ) 0
Number( " 5.5 " ) 5.5
Number( " 56 " ) 56
Number( " 5.6.7 " ) NaN
Number( new Object()) NaN
Number( 100 ) 100
String
String()能实现所有类型数据的直接转换,和使用toString()不同的是,String()能够将null或undefined数据转换为string。
引用类型
ECMAScript 实际上并没有传统意义上的类,只是通过定义对象来等同于其他语言中的类,这一点我还比较含糊,以后可能会明白,在文中还是以“类”来说明。
以上定义了一个Object对象的实例,这种语法和Java比较类似。当有参数的时候需要括号来引用,当不存在参数时,括号可以去掉。由于 ECMAScript语言比较松散,不管是前面所属的基础语法,还是后面将提到的语法知识,我们都应该尽量按照一定的书写规范来约定自己的代码格式,而不应充分发挥语言松散的特点。
Object类
Object类和Java里的java.lang.Object类比较相似,它是ECMAScript中其他所有类的基类,它具有如下属性:
constructor—建立对象的函数的一个引用,对于Object类而言,该引用指向本地Object()方法。
prototype—对象里prototype对象的一个引用值。
Object 类拥有的方法:
hasOwnProperty(property)—判断property属性是否存在于对象中,property数据类型为string
isPrototypeOf(object)— 判断一个对象是否是另一对象的 prototype
propertyIsEnumerable(property)— 判断所给出的属性能否使用 for 语句列举出来
toString()—返回对象的原始类型string
valueOf()—返回对象合适的原始值,对于多数类而言,返回的值和toString()相同
Object类的每一个属性和方法都被其他的类所重写
Boolean类
定义方法var ob = new Boolean(true); ob是Boolean原始数据类型的一个引用。在使用Boolean对象过程中,需要注意,所有的对象会自动转变为true,因此var ob1 = new Boolean(false); var ob2 = ob1 && true; 最后ob2的值是true,非false。一般情况下,使用Boolean原始数据类型可以避免这种情况。
Number类
定义方法var o = new Number(15);
获得原始数据的值var n = o.valueOf();
Number类有一些为数字类型的值特别设计的方法:
alert(o.toExponential( 1 )); // 输出1.5e+1
在无法确定使用 toFixed 还是 toExponential 的时候,可以使用 toPrecision 方法来获得取值:
alert(o.toPrecision( 2 )); // 输出 15
alert(o.toPrecision( 3 )); // 输出 15.0
String类
String类是一种复杂引用类型,这里仅列出一些常见的方法,其中不少都是模仿java.lang.String:
alert(s.valueOf() == s.toString()); // 输出true
alert(s.length); // 输出12
alert(s.charAt( 1 )); // 输出o
var sr = s.concat( " ! " ); alert(sr); // 输出Good morning !
alert(s.indexOf( " o " ); // 输出1
alert(s.lastIndexOf( " o " ); // 输出6
alert(s.localeCompare(Good morning)); // 输出0
alert(s.localeCompare(Apple)); // 输出1
alert(s.localeCompare(House)); // 输出-1
alert(s.slice( 2 )); // 输出od morning
alert(s.substring( 2 )); // 输出od morning
alert(s.slice( 2 , - 5 )); // 输出od mo
alert(s.substring( 2 , - 5 )); // 输出Go
alert(s.toUpperCase()); // 输出GOOD MORNING
alert(s.toLowerCase()); // 输出good morning
另外,所有String类的方法同样可以用于String原始数据类型,因为它是伪对象。
instanceof
instanceof操作符和typeof作用类似,不同的是,instanceof需要明确指定对象是否属于某种特定类型。例如
alert(s instanceof String);
操作符和语句
ECMAScript 中大多数操作符、语句和 Java 都比较类似,但也有一些其特有的,如 label 语句, with 语句, for-in 语句等等。
Functions
Functions是ECMAScript的核心,在任何时候任何地方都可以运行的一组代码语句。
statements
}
当function没有返回值或return语句后没有值的时候,该function实际上会被系统定义为undefined,当function返回值的时候,function可以不必明确指定为某种数据类型。
关于重载
重载是面向对象语言的基本特性之一,但 ECMAScript 的 functions 并不能重载,在同一范围里可以定义两个完全相同的函数,在调用函数的时候,最后的一个函数发挥作用。这种特性比较麻烦,但可以通过 arguments 对象来实现和重载类似的功能。
if (arguments.length == 1 ) {
alert(arguments[ 0 ] + 5 );
} else if (arguments.length == 2 ) {
alert(arguments[ 0 ] + arguments[ 1 ]);
}
}
func( 5 ); // 输出10
func( 10 , 15 ); // 输出25
前面提到过,在同一范围里可以定义两个完全相同的function,在调用function的时候,最后的一个function发挥作用。
alert(i + 10 );
}
function func(i) {
alert(i + 20 );
}
func( 5 ); // 输出25
可以看出,是调用了最后的一个function使得数据结果为25,如果使用Function类来定义以上两个函数,那为什么会使用最后的一个function可能会更明确一些。
var func = new Function(“i”, “alert(i + 20 )”);
func( 5 );
func指向了另外一个引用,从而值发生了改变,func是作为function对象的引用而存在的,并且允许两个变量指向同一个 function。
和Function类相关的属性、方法有许多,例如length、toString()、valueOf()等等。其中toString()在调试程序中使用较多。
发表评论
-
JQuery 单行多条信息滚动代码
2014-03-20 10:26 567function T(n){ document.g ... -
jQuery仿新浪网“返回顶部”效果
2014-03-19 17:11 675(function(){ var $backTo ... -
js隐藏省略文字特效
2014-03-19 17:00 798(function(){ var o = ... -
纯div+css制作的弹出菜单下拉效果(含二级,三级效果)
2014-03-19 16:32 436//二级效果 http://www.lanrentuku ... -
Tips展开关闭问答代码
2014-03-19 16:25 775function show(c_Str,imgg){ ... -
JS定时器执行某个动作,可页面动态展示时间走动
2014-03-19 15:40 982var intervalData = 1000 ... -
jquery省市县 三级联动
2013-12-11 15:03 757$(document).ready(function( ... -
XMLUtils 封装通用的javascript解析XML文件
2013-12-04 18:42 1392XMLUtils.js function XmlUtil ... -
最新省市县行政区域(含编码)XML和JSON数据格式(含测试入库代码)
2013-12-04 16:23 1276private Area area; int p ... -
JS 全选 反选及 判断是否是全选或全不选
2013-07-11 14:16 1314<div class="right_ ... -
jQuery 上下无缝滚动插件 列表溢出高度时 自动上下无缝滚动
2013-07-09 12:49 1687<style type="text/css& ... -
JS获取当前时间 格式 年月日 星期几 显示阴历日期 节气
2013-07-06 18:54 1889JS获取当前时间 格式 年月日 星期几 显示阴历日期 ... -
js 获取 chenkbox选中的值 和 radio选中的值
2013-06-14 14:54 876//获取浮选框选中的value的值 //ch ... -
js 获取 关闭当前窗口
2013-06-14 09:37 781function CloseWebPage() { ... -
js判断 上传文件类型必须是图片格式的
2013-06-13 10:47 1105function isImg(str) { if ... -
js 获取 select的option的 value值 和 id值
2013-05-21 11:33 1852<select class="select_ ... -
js Window学习(四)Window History 对象 上一页 下一页,方法
2013-05-17 13:25 1223Window History window.histo ... -
js Window学习(三)Window Location对象
2013-05-17 13:22 778Window Location window.loca ... -
js Window学习(二)Window Screen 获取屏幕可用高 、宽度
2013-05-17 13:19 958Window Screen window.screen ... -
js Window学习(一)三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具栏和滚动条)
2013-05-17 13:17 907有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括工具 ...
相关推荐
### ECMAScript基础知识详解 #### 一、ECMAScript简介 ECMAScript 是 JavaScript 的核心规范,由欧洲计算机制造商协会(ECMA International)制定。它规定了浏览器等环境执行脚本语言的基础语法和数据类型等内容。...
### ECMAscript基础知识点详解 #### 一、ECMAscript概述 ECMAscript,通常简称ES,是一种脚本语言的标准规范,由欧洲计算机制造商协会(ECMA International)制定,旨在提供一种标准的脚本语言语法和功能,用于...
在深入探讨JavaScript高级编程技术之前,我们首先需要了解ECMAScript的基础知识。...有了扎实的ECMAScript基础,我们才能在前端开发、服务器端编程甚至桌面应用开发中运用JavaScript实现更复杂的业务逻辑。
ECMAScript 解读 ECMAScript 是一种脚本语言标准,由 Ecma ...掌握 ECMAScript 的基础知识是学习 JavaScript 高级程序设计的基础,理解 ECMAScript 可以帮助开发者更好地理解 JavaScript 语言,提高开发效率和质量。
### ECMAScript基础知识点概述 #### 一、ECMAScript简介 ECMAScript(简称ES)是一种被标准化的脚本语言规范,最初由Netscape公司提交至欧洲计算机制造商协会(ECMA International),并最终形成了国际标准ECMA-262...
ECMAScript基础部分会介绍JavaScript的基本语法,包括变量声明(var、let、const)、数据类型(如字符串、数字、布尔值、null、undefined、对象、数组和符号)、以及如何在代码中进行注释。 2. **值与类型**: 这...
第2章 ECMAScript基础 第3章 对象基础 第4章 继承 第5章 浏览器中的JavaScript 第6章 DOM基础 第7章 正则表达式 第8章 检测浏览器和操作系统 第9章 事件 第10章 高级DOM技术 第11章 表单和数据完整性 第12章 表格...
由于我对JavaScript和薄弱,所以在看Asp.net Ajax类库的同时也翻出了ECMAScript顺便学习学习。在.NET中所有类都是继承自Object,同样在JS中也一样说有都继承Object,因此如果对Object进行了扩展,那所有继承Object类...
JavaScript在前端开发中的重要性体现在三个方面:源代码开发阶段讲解JavaScript基础部分,涉及三个核心知识点:ECMAScript基础知识、BOM和DOM;涉及两个核心技能:表单验证和常见客户端网页特效制作。 课程思政元素...
ECMAScript 手册是关于ECMAScript语言的权威指南,该语言规范是JavaScript和JScript等编程语言的基础。ECMAScript由Brendan Eich在Netscape公司发明,并首次应用于Navigator 2.0浏览器,后来被所有Netscape和从...
通过学习ECMAScript的基础语法和特性,开发者可以更好地理解和应用QML。此外,ECMAScript的灵活性和强大的功能也为QML应用程序带来了无限的可能性。无论是对于初学者还是经验丰富的开发者来说,深入掌握ECMAScript都...
ECMAScript 定义了语言的基础结构,包括但不限于: - **语法**:定义了变量声明、表达式、语句等的基本规则。 - **类型**:支持原始类型(如 number、string、boolean)和引用类型(如 object)。 - **语句**:if ...
#### 三、ECMAScript基础知识 - **ECMAScript语法**:虽然Java和ECMAScript有一些相似之处,但它们也有很多差异。ECMAScript语法包括变量声明、关键字、保留字、值类型等。 - **变量声明与命名**:学习如何声明变量...
【ECMAScript基础】 ECMAScript是JavaScript的基础,定义了语言的语法和基本对象。在实现手风琴菜单时,我们可能会用到ECMAScript的变量声明、函数、条件语句、循环以及事件处理等特性。例如,`if`语句用于判断当前...
2009年发布的ECMAScript 5.1版本是JavaScript的一个关键里程碑,它在ECMAScript 3的基础上进行了诸多改进和扩展,为开发者提供了更强大、更稳定的编程环境。本说明将深入探讨ECMAScript 5.1的主要特性和关键知识点。...
总结来说,"基于jQuery的在线学习平台设计与实现"是一个全面展示前端开发技术的项目,它涵盖了DOM操作、事件处理、动画、Ajax交互、ECMAScript基础等多个重要知识点。通过这个项目,开发者不仅可以提升jQuery的熟练...
在本文中,我们将深入探讨如何使用jQuery来实现一个自定义的单选按钮(radio)组件,同时也会涉及相关的JavaScript和ECMAScript基础知识。 ### 1. jQuery基础 首先,我们需要了解jQuery的基本用法。jQuery通过 `$`...
ECMAScript 6(ES6),是JavaScript语言的下一代标准,于2015年6月正式发布。它由ECMA国际标准化组织制定,...通过学习和掌握ES6,开发者可以更高效地编写现代JavaScript代码,并为未来可能的ECMAScript标准奠定基础。