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 ...
随机推荐
- 默認打開pr_debug和dev_dbg
作者:彭東林 郵箱:pengdonglin137@163.com 日期:2016-08-26 18:04:14 在進行Linux驅動開發時經常見到使用pr_debug和dev_dbg打印驅動的log, ...
- Cordova webapp实战开发:(6)如何写一个iOS下获取APP版本号的插件?
上一篇我们学习了如何写一个Andorid下自动更新的插件,我想还有一部分看本系列blog的开发人员希望学习在iOS下如何做插件的吧,那么今天你就可以来看看这篇文字了. 本次练习你能学到的 学习如何获取 ...
- Android TextView 添加下划线的几种方式
总结起来大概有5种做法: 1. 将要处理的文字写到一个资源文件,如string.xml(使用html用法格式化) 2. 当文字中出现URL.E-mail.电话号码等的时候,可以将TextView ...
- Windows Azure Cloud Service (40) 使用VS2013的publishSettings文件,发布Cloud Service
<Windows Azure Platform 系列文章目录> 在之前的文档中,笔者已经介绍了如何使用本地证书上传至云端的方式,将本地的Cloud Service发布至云端. 在本章中,笔 ...
- velocity分页模板
以前用后台java拼接分页代码,不利于修改.找到一份velocity模板. <!-- 分页模板 --> #macro(pager $url $pager) <url class=&q ...
- Elasticsearch 数据搜索篇·【入门级干货】
ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API.本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用.虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的 ...
- Django之Form、CSRF、cookie和session
Django是一个大而全的web框架,为我们提供了很多实用的功能,本文主要介绍Form.CSRF.cookie和session 一.Form 在web页面中form表单是重要的组成部分,为了数据安全和 ...
- JS魔法堂:函数节流(throttle)与函数去抖(debounce)
一.前言 以下场景往往由于事件频繁被触发,因而频繁执行DOM操作.资源加载等重行为,导致UI停顿甚至浏览器崩溃. 1. window对象的resize.scroll事件 2. 拖拽时的mousemov ...
- html5和css3的常用参考网
当我们使用HTML5, CSS3,甚至Bootstrap设计网站的时候,有些方面是必须考虑的,比如字体大小,标题大小,行间距,每行字数,字体,颜色,背景图片和文字的搭 配,图标,留白和布局...... ...
- C语言学习006:歌曲搜索
#include <stdio.h> #include <string.h> //字符串处理库 ]={ "I left my heart in Harvard Med ...