JavaScript语言精粹学习笔记
0、JavaScript的简单数据类型包括数字、字符创、布尔值(true/false)、null和undefined值,其它值都是对象。
1、JavaScript只有一个数字类型,它在内部被表示为64位的浮点数。没有分离出整数,所以1和1.0的值相同。
2、NaN是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它本身。可以用函数isNaN(number)检测NaN,但是建议用isFinite()来检测某值是否是数字。
- typeof NaN === ‘number’ //true
- NaN === NaN //false
- NaN !== NaN //true
- isNaN(0) isNaN(‘0′) //false
- isNaN(NaN) isNaN(‘oops’) //true
- 原文:http://www.linzenews.com/program/web/2485.html
3、JavaScript没有字符类型。要表示字符,只需创建仅包含一个字符的字符串即可,一旦被创建,就是不可变的。在被创建的时候,Unicode是一个16位的字符集,所以JavaScript中的所有字符都是16位的。
4、false、null、undefined、空字符串、0、NaN都被认为是false。除此之外的其它值都是true,包括’false’、new Boolean(false)。
5、typeof运算符产生的值有:’number’、’string’、’boolean’、’undefined’、’function’、’object’。对于数组或null,typeof均返回’object’。
6、若第一个运算数是假,&&返回第一个运算数的值,反之,返回第二个;若第一个运算数是真,||返回第一个运算数的值,反之,返回第二个;
7、arguments拥有一个length属性,但不是数组,它没有任何数组的方法。
8、用于处理正则的方法:regexp.exec()、regexp.test()、string.match()、string.replace()、string.search()和string.split()【可参见:JavaScript正则表达式】
9、正则表达式因子:\ / [ ] ( ) { } ? + * | . ^ $。若要匹配因子,在字面量中用\进行转义,在RegExp对象中则双写\。注意\前缀不能使字母或数字字面化。
10、正则表达式分组
- 捕获型:一个捕获型分组是一个被包围在圆括号中的正则表达式分支。任何匹配这个分组的字符都会被捕获。每个捕获型分组都被指定了一个数字。1是第一个捕获分组,2是第二个,依此类推。
- 非捕获型:非捕获型分组带 ?: 前缀。它仅做简单的匹配,并不捕获匹配文本,也不干扰捕获型分组的编号
- 向前正向匹配:带 ?= 前缀,类似于非捕获型分组,但在这个组匹配之后,文本会倒回到它开始的地方,实际上不匹配任何东西。
- 向前负向匹配:带 ?! 前缀 ,类似于向前正向匹配,但是只有它匹配失败时它才继续向前进行匹配
11、关于 == 的有趣例子
- ‘ ‘ == ‘0’ //false
- 0 == ‘ ‘ //false
- 0 == ‘0’ //true
- false == ‘false ‘ //false
- false == ‘ 0′ // true
- false == undefined //false
- false == null //false
- null == undefined //true
- ‘ \t\r\n ‘ == 0 //true
JavaScript语言精粹学习笔记的更多相关文章
- JavaScript 语言精粹读书笔记
最近在看 赵泽欣 / 鄢学鹍 翻译的 蝴蝶书, 把一些读后感言记录在这里. 主要是把作者的建议跟 ES5/ES5.1/ES6 新添加的功能进行了对比 涉及到的一些定义 IIFE: Immediatel ...
- <JavaScript语言精粹>-读书笔记(一)
用object.hasOwnProperty(variable)来确定这个属性名是否为该对象成员,还是来自于原型链. for(my in obj){ if(obj.hasOwnProperty(my) ...
- JavaScript语言精粹-读书笔记
前言:很久之前读过一遍该书,近日得闲,重拾该书,详细研究一方,欢迎讨论指正. 目录: 1.精华 2.语法 3.对象 4.函数 5.继承 6.数组 7.正则表达式 8.方法 9.代码风格 10.优美的特 ...
- 学习javascript语言精粹的笔记
1.枚举: 用for in 语句来遍历一个对象中所有的属性名,该枚举过程将会列出所有的属性也包括涵数和方法,如果我们想过滤掉那些不想要的值,最为常用的过滤器为hasOwnProperty方法,以及使用 ...
- JavaScript语言精粹读书笔记 - JavaScript函数
JavaScript是披着C族语言外衣的LISP,除了词法上与C族语言相似以外,其他几乎没有相似之处. JavaScript 函数: 函数包含一组语句,他们是JavaScript的基础模块单元,用于代 ...
- 【Javascript语言精粹】笔记摘要
现在大部分编译语言中都流行要求强类型.其原理在于强类型允许编译器在编译时检测错误.我们能越早检测和修复错误,付出的代价越小.Javascript是一门弱类型的语言,所以Javascript编译器不能检 ...
- <JavaScript语言精粹>--<读书笔记三>之replace()与正则
今天有人问我repalce(),他那个题目很有意思.我也不会做,于是我就去查,结果发现就是最基础的知识的延伸. 所以啊最基础的知识才是很重要的,千万不能忽略,抓起JS就写代码完全不知到所以然,只知道写 ...
- 《JavaScript语言精粹》笔记
0.JavaScript的简单数据类型包括数字.字符创.布尔值(true/false).null和undefined值,其它值都是对象. 1.JavaScript只有一个数字类型,它在内部被表示为64 ...
- JavaScript语言精粹读书笔记- JavaScript对象
JavaScript 对象 除了数字.字符串.布尔值.null.undefined(都不可变)这5种简单类型,其他都是对象. JavaScript中的对象是可变的键控集合(keyed collecti ...
随机推荐
- Winform(C#.NET)自动更新组件的使用及部分功能实现
声明:核心功能的实现是由园子里圣殿骑士大哥写的,本人是基于他核心代码,按照自己需求进行修改的. 而AutoUpdaterService.xml文件生成工具是基于评论#215楼 ptangbao的代 ...
- 【转】 制作Android Demo GIF:程序演示效果GIF图录制
在平时写博客或者分享自己写的程序效果的时候经常需要做成GIF图,以下就是介绍几种常用的GIF录制方法: 一.录制工具 1.(生成动画的工具:Ulead GIF Animator),可以讲单独的图片生成 ...
- Windows Azure Active Directory (1) 前言 - 基于声明的验证和授权
<Windows Azure Platform 系列文章目录> 在我们介绍整套系统架构之前,我们需要首先定义一些基本的概念. 用户及其属性: 用户值得是要使用某项服务的个体.用户一般都有一 ...
- 解决AndroidStudio升级版本后恢复初始化设置的问题
今天把AndroidStudio升级到1.5后发现所有的个性设置全变为初始化了.包括皮肤啊,字体大小.颜色啊,以及快捷键等等.一瞬间就懵了. 升级完后好像有一个弹窗就是提示是否要继续使用之前的配置的, ...
- OpenJudge 666:放苹果 // 瞎基本DP
666:放苹果 总时间限制: 1000ms 内存限制: 65536kB 描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1 ...
- Winform开发框架之参数配置管理功能实现-基于SettingsProvider.net的构建
在较早时期,我写过一篇文章<结合Control.FirefoxDialog控件,构造优秀的参数配置管理模块>,介绍过在我的Winform框架基础上集成的参数配置模块功能,但是参数模块的配置 ...
- C#多种方式获取文件路径
string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称. string str1 =Process.GetCurren ...
- 只用CSS实现容器内图片上下左右居中
一直以来,大家都知道,DIV容器内设置 text-align:center 即可让图片居中,但是DIV内默认的图片是上对齐,不会上下居中,如果想要实现这样的效果,JS判断是比较麻烦的,因为DIV容器内 ...
- android The connection to adb is down 错误信息
之前运行eclipse执行android应用都没问题,今天突然出问题了,控制台报错: The connection to adb is down, and a severe error has occ ...
- ASP.NET页面中去除VIEWSTATE视
保存页的所有视图状态信息和控件状态信息. 源码:http://www.jinhusns.com/Products/Download/?type=xcj 作者在早期参与的项目中曾遇到这样的需求:基于SE ...