- 浏览: 5166473 次
- 性别:
- 来自: 天津
博客专栏
-
实战 Groovy
浏览量:29349
文章分类
- 全部博客 (639)
- 代码之谜 (6)
- JavaScript quirks (5)
- 程序员 (92)
- Java (93)
- BT编程 (7)
- html/css (64)
- Groovy&Grails (42)
- Android (20)
- C/C++ (5)
- PHP/Perl/Python (46)
- 经典文章 (51)
- CodeIgniter (14)
- JQuery (10)
- 笑话 (4)
- 其他 (32)
- javascript (69)
- 云计算 (0)
- html5 (7)
- 面试 (8)
- google (3)
- nosql (2)
- nodejs (11)
- go (5)
- erlang (1)
- 小常识 (3)
- 冷知识 (5)
- database (4)
- web (12)
- 架构 (12)
- Exception (0)
最新评论
-
jqw1992:
https://www.chromefor.com/libra ...
[福利] 开发者必备的 Chrome 插件——ChromeSnifferPlus -
litjerk:
初步算了一下,目前最最精简的Win98版是5M,他5个小时多敲 ...
让人目瞪口呆的三位世界级电脑大师 -
379855529:
。。似乎重点没说NIO啊,前面基础只是铺垫的很好的,可是我要的 ...
Java NIO与IO的详细区别(通俗篇) -
springmvc_springjpa:
spring mvc demo教程源代码下载,地址:http: ...
一步步开发 Spring MVC 应用 -
匡建武:
Good
四个程序员的一天
接触过一些javascript的知识,但是感觉总是很肤浅,从12.28开始,决定从头好好学习一下javascript,所用的参考书是《JavaScript高级程序设计》。
以下是我在复习的过程中,感觉很重要的知识点,具体如下:
typeof运算符
"undefined",如果变量是Undefined类型;
"boolean",如果变量是Bollean类型;
"number",如果变量是Number类型;
"string",如果变量是String类型;
"object",如果变量是一种引用类型或Null类型;
你也许会问,为什么type运算符对与Null值也返回object,这实际上是JavaScript最初实现的中的一个错误,然后被ECMAScript沿用了,现在null被认为是对象的一个占位符,从而解释了这个矛盾,但从技术上讲,它仍然是原始类型。
Undefined类型只有一个值,那就是undefined,当声明的变量未初始化时,该变量的默认值是undefined;
Null类型也只有一个值,即null,是一个字面量,值undefined实际上是从值null派生出来的,因此ECMAScript把他们定义为相等的。
尽管这两个值是相等的,但他们的含义不同;undefined是声明了变量但是未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象,如果函数或方法返回的是对象,那么找不到该对象时,则返回null;
Number类型有三个特殊的值,Number.MAX_VALUE和Number.MIN_VALUE,他们定义了Number类型变量的边界。另外一个特殊值就是NaN,表示非数(not a number),NaN是个奇怪的特殊值,一般说来,这种情况发生在类型(String,Boolean)转换失败时。NaN的另一个奇特之处在于:它与自身不相等,这意味着下面的代码将返回false:
由于这种原因,我们不推荐使用NaN值本身,函数isNaN()就可以做的很好:
类型转换
(1)、转换成字符串
ECMAScript的Boolean值,数字和字符串的原始值的有趣之处在于他们都是伪对象,这意味着他们实际上具有属性和方法,例如,字符串的长度,如下:
Boolean类型的对象的toString()方法只是输出"true"和"false";
Number类型的对象的toString方法比较特殊,有两种模式:默认模式(toString())和基模式(toString(2)、toString(8)、toString(18));默认模式无论数字是什么模式,都默认输出10进制数字,而采用基模式会输出对应的进制表示:
对数字调用toString(10)和toString()方法,效果一样。
(2)、转换成数字
ECMAScript提供两种把非数字的原始值转换成数字的方法,即parseInt()和parseFloat();前者把值转换成整数,后者把值转换成浮点数;只有对String类型的数据调用这两个方法,它们才会被正确执行,对其他类型都返回NaN。
对于这两个方法,在判断字符串是数字值的过程中,paraeInt()和parseFloat()都会仔细分析该字符串,paraeInt()方法会首先查看位置0处的字符,判断它是否是个有效数字,如果不是,该方法会直接返回NaN,不再继续执行其他操作。但如果该字符是个数字值,则会继续查看位置1处的字符是否是个数字值,以此类推,直到最后,这一过程会持续到发现非有效数字的字符为止,不过字符串“22.5”会被转换为22,因为对于整数来说,小数点是无效字符,举例如下:
parseInt()方法也有基模式,可以把2进制,8进制,16进制的字符串转换成整数,基是parseInt()方法的第二个参数指定的,举例如下:
parseFloat()方法的用法与parseInt()方法基本上相同,特殊的是parseFloat()方法里面的字符串数值必须是10进制表示(该方法会忽略其他进制前边的0)。
(3)、强制类型转换
使用强制类型转换可以访问特定的值,即使它是另一种类型,ECMAScript可以使用一下3中强制类型转换:
Boolean(value)——把给定值转换成boolean类型
Number(value)——把给定值转换成number类型
String(value)——把给定值转换成string类型
用这三个函数之一进行转换,将创建一个新值,来存放由原始值转换后的新值。
当要转换的值是至少有一个字符的字符串、非0数字和对象时,Boolean()函数将返回true;如果该值是空字符串、数字0,null、undefined,它将返回false;
Number()强制转换时和parseInt()、parseFloat()大致相同,只是它转换的是整个值,而不是部分值,举例如下:
最后一种强制类型转换是String(),它可以把任何值转换成字符串;强制转换成字符串和调用toString()方法唯一不同的是:对null值和undefined值强制类型转换,可以生成字符串,而不会错误:
发表评论
-
Lo-Dash 与 underscore,Prototype 与 jQuery,两段恩怨情仇
2015-12-15 09:35 1673这几天更新我的之前写的 Chrome 插件 ChromeSn ... -
开发者必备的 Chrome 扩展
2014-11-03 15:01 2001Firebug:不用多介绍了吧https://chrome. ... -
开发者福利!ChromeSnifferPlus 插件正式登陆 Chrome Web Store
2014-10-30 21:14 106576今天(2014-10-30)下午,ChromeSniffer ... -
Firebase 相关文章索引
2014-10-23 10:21 2185Awesome Firebase 最近谷歌收购Fireb ... -
JSON API:用 JSON 构建 API 的标准指南中文版
2014-10-14 08:26 19859译文地址:https://github. ... -
前端开发,从菜鸟到大牛的取经之路
2014-07-14 15:15 378874以我的经验,大部分技术,熟读下列四类书籍即可。 入门, ... -
JavaScript Puzzlers 解密(一):为什么 ["1", "2", "3"].map(parseInt) 返回 [1, NaN, NaN]?
2014-02-19 10:58 40379JavaScript Puzzlers! 被称为 javas ... -
JavaScript 的怪癖 4:未知变量名创建全局变量
2013-12-02 15:25 1383原文:JavaScript quirk 4: unknown ... -
JavaScript 的怪癖 5:参数的处理
2013-12-02 15:23 3229原文:JavaScript quirk 5: parame ... -
【ghost初级教程】 怎么搭建一个免费的ghost博客
2013-10-28 14:10 6200ghost博客系统无疑是这个月最火热的话题之一,这个号称” ... -
10 个你需要了解的最佳 javascript 开发实践
2013-10-16 13:54 3594Javascript 的很多扩展的特性是的它变得更加的犀利 ... -
基于 canvas 将图片转化成字符画
2013-09-26 15:05 6575猛点 这里 看高清 ... -
详解一下 javascript 中的比较
2013-09-22 09:30 1912代码1: [] == []; // false ... -
谈 javascript 变量声明
2013-06-14 10:35 1883这篇文章还是对基础的复习,对面试经历的一个总结。 之前的 ... -
[译]Javascript 作用域和变量提升
2013-06-13 13:16 5181下面的程序是什么结果? var fo ... -
javascript:可以运行的噪音
2013-06-01 09:34 9268为我的博客做了一个很有 geek 风格的关于页面。运行下面 ... -
【layoutit!】基于 bootstrap 实现可视化布局工具
2013-05-20 11:23 14615Layout It 是一个在线工具,它可以简单而又快速搭建 ... -
回复:浮点数0.57 0.58 造出的坑爹问题
2013-05-09 11:30 25129今天看到 vb2005xu 提到了一个问题 浮点数0.5 ... -
javascript 中强制执行 toString()
2013-04-26 13:25 1537原文:Enforcing toString() 译文:ja ... -
JavaScript 中的“自动分号插入”机制(ASI)
2013-04-24 08:41 8422原文:Automatic semicolon insert ...
相关推荐
JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)JavaScript基础语法(ppt)...
《javascript基础教程(第8版)》循序渐进地讲述了javascript 及相关的css、dom、ajax、jquery 等技术。书中从javascript 语言基础开始,分别讨论了图像、框架、浏览器窗口、表单、正则表达式、用户事件和cookie,并...
本教程旨在为初学者提供一个全面的JavaScript基础知识学习平台,帮助理解并掌握这种强大的脚本语言。 《JavaScript基础教程》首先会介绍JavaScript的历史背景和基本语法,包括变量、数据类型、操作符、流程控制...
这个资源是javaScript基础语法的总结,适合学完javascript基础语法的进行巩固、复习! 这...我是想免费给大家看的,这怎么还收费
本文档是JavaScript基础教程的精简版,旨在以简洁的形式介绍JavaScript的基本概念和技术。 首先,我们从简介开始。JavaScript由网景公司的Brendan Eich在1995年发明,起初被命名为Mocha,后来改为LiveScript,最终...
总的来说,这个压缩包提供了一个全面的JavaScript基础知识教程,涵盖了数据类型、Object、内置对象和变量等核心概念,对于初学者或者需要巩固基础的开发者来说,是一份非常有价值的参考资料。通过学习这些内容,可以...
《JavaScript基础与案例开发详解》根据JavaScript在各种类型的应用开发中(如B2B、B2C、C2C)的使用情况,有针对性地安排了丰富的案例,从基本的表格操作、表单操作,到构建浏览器端的富文本编辑器,再到实现像Windows...
JavaScript 基础教程 JavaScript 是一种广泛应用于网页和网络应用的轻量级编程语言,它主要用于增强网页的交互性和动态功能。JavaScript 能够直接嵌入 HTML 页面中,为设计师提供了一种无需深入编程就能实现动态...
资源名称:Javascript基础与案例开发详解内容简介:《Java script基础与案例开发详解》根据Javascript在各种类型的应用开发中(如B2B、B2C、C2C)的使用情况,有针对性地安排了丰富的案例,从基本的...
二、JavaScript基础语法 1. 变量:JavaScript中的变量使用var、let或const关键字声明。var适用于全局或函数作用域,let和const则属于块级作用域。const声明的变量不可重新赋值,但其引用的对象属性仍可修改。 2. ...
javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript 基础 教程 入门 精通 javascript ...
JavaScript基础三天总结
本“JavaScript基础手册”旨在帮助初学者全面掌握JavaScript的核心概念和技术。 JavaScript语法基于ECMAScript规范,它包括变量、数据类型(如字符串、数字、布尔值、null、undefined、对象和数组)、运算符(算术...
这个"Javascript基础教程版"涵盖了JavaScript的核心概念,旨在为初学者提供一个清晰的学习路径。 在JavaScript的基础教程中,你将首先了解它的历史背景和应用领域,然后深入到语法层面。JavaScript语法基于...
这个名为"JavaScript基础大全 (1-4) 学习必备珍藏品"的资源显然是一个系列教程,包含了从初级到进阶的JavaScript基础知识。让我们深入探讨一下JavaScript的核心概念和技术。 1. **基础语法**:JavaScript是一种...
本资源“javascript基础视频80集11”包含了80个视频教程,覆盖了JavaScript的基础概念到高级特性,适合初学者进行系统学习。 在JavaScript的基础阶段,通常会涉及以下知识点: 1. **变量与数据类型**:JavaScript...
### JavaScript基础教程核心知识点概述 #### 一、JavaScript简介与特性 - **JavaScript的作用**:JavaScript主要用于增强网页的交互性和动态效果,使网页能够实时响应用户的操作,提高用户体验。 - **减少HTML重复*...
本套“JavaScript基础视频80集8”将深入浅出地介绍这一语言的基础知识,帮助初学者建立坚实的编程基础。 视频内容可能涵盖以下几个方面: 1. **变量与数据类型**:JavaScript支持多种数据类型,包括基本类型(如...
本教程“JavaScript基础与实例教程”由中国电力出版社出版,旨在为初学者和有经验的开发者提供一个深入理解JavaScript核心概念和实践技巧的平台。 首先,JavaScript的核心概念包括变量、数据类型和操作符。变量是...