阅读笔记《JavaScript高级程序设计》
0. 严格模式
"user strict"
(1整个脚本顶部,2函数体顶部)
1. 数据类型
undefined -- 未定义
boolean
string
number
object -- 对象 或 null
function
0) typeof操作符(不是函数)
alert(val) //error
typeof val //返回"undefined"
val定义局部变量(函数体内),全局变量(不再任何函数体内)
直接写变量名定义全局变量
1) Undefined
所有未初始化的变量均为Undefined类型,值为undefined
undefined 派生自 null, null == undefined // true
typeof null; // "object"
2) Boolean
可以通过Boolean()函数将所有其它值转换为Boolean类型
转换为false的值有:"", 0和NaN, null, undefined
在控制流if()中科自动执行相应的Boolean转换
3) Number
十进制
八进制(0开头+(0-7),超过7则忽略开头的0,当做十进制)
十六进制(0x开头+(0-9及A-F/a-f))
浮点数(var num = 10.1; var num = 10.1e7), 注意浮点数是有误差的,比较式不要直接==
范围: Number.MAX_VALUE Number.MIN_VALUE, 超出范围为 -Infinity/Infinity(正/负无穷), isFinite()判断是否未超出范围
NaN (Not a Number)
将非数字字符串转换为Number返回NaN), 0除以0返回NaN, 正数/0返回Infinity, 任何NaN参与的算术运算值都为NaN
NaN不等于任何值(包括自己)
isNaN()
Number() --- Number("adf")NaN, Number(0011)11, Number(true)1
parseInt() --- parseInt("1234as")1234, parseInt("0xf")15
parseFloat() --- parseFloat(12.21.5)12.21, parseFloat(3.1e1)==31
4) string
"a" + "b" === "ab"
Number.toString()
String()
String(true) === "true"
String(null) === "null"
val test; String(test) === "undefined"
5) Object
和Java的Object类似
2. 操作符
- 单目运算符: ++ -- + - (即正负号)
- 位运算符: ~ & | ^ << >>(有符号右移,符号位不动) >>>
- 逻辑运算符: ! && ||
- 算术运算符: * / % + -
- 关系操作符: < > <= >= != == ===(全等,比较时不会做类型转换)
- 条件操作符: ? :
- 赋值操作符: = *= /= %= += -= <<= >>= >>>=
- 逗号操作符: , (返回值会最后一项,如:val a = 10, 9, 0; // a == 0)
3. 语句
- if () {} else {}
- do{} while();
- while() {}
- for(;
阅读笔记《JavaScript高级程序设计》的更多相关文章
- 阅读《RobHess的SIFT源码分析:综述》笔记
今天总算是机缘巧合的找到了照样一篇纲要性质的文章. 如是能早一些找到就好了.不过“在你认为为时已晚的时候,其实还为时未晚”倒是也能聊以自慰,不过不能经常这样迷惑自己,毕竟我需要开始跑了! 就照着这个大 ...
- RobHess的SIFT源码分析:imgfeatures.h和imgfeatures.c文件
SIFT源码分析系列文章的索引在这里:RobHess的SIFT源码分析:综述 imgfeatures.h中有SIFT特征点结构struct feature的定义,除此之外还有一些特征点的导入导出以及特 ...
- RobHess的SIFT源码分析:综述
最初的目的是想做全景图像拼接,一开始找了OpenCV中自带的全景拼接的样例,用的是Stitcher类,可以很方便的实现全景拼接,而且效果很好,但是不利于做深入研究. 使用OpenCV中自带的Stitc ...
- 阅读《RobHess的SIFT源码分析:综述》笔记2
今天开始磕代码部分. part1: 1. sift特征提取. img1_Feat = cvCloneImage(img1);//复制图1,深拷贝,用来画特征点 img2_Feat = cvCloneI ...
- element-ui button组件 radio组件源码分析整理笔记(一)
Button组件 button.vue <template> <button class="el-button" @click="handleClick ...
- element-ui 组件源码分析整理笔记目录
element-ui button组件 radio组件源码分析整理笔记(一) element-ui switch组件源码分析整理笔记(二) element-ui inputNumber.Card .B ...
- element-ui Carousel 走马灯源码分析整理笔记(十一)
Carousel 走马灯源码分析整理笔记,这篇写的不详细,后面有空补充 main.vue <template> <!--走马灯的最外层包裹div--> <div clas ...
- STL源码分析读书笔记--第二章--空间配置器(allocator)
声明:侯捷先生的STL源码剖析第二章个人感觉讲得蛮乱的,而且跟第三章有关,建议看完第三章再看第二章,网上有人上传了一篇读书笔记,觉得这个读书笔记的内容和编排还不错,我的这篇总结基本就延续了该读书笔记的 ...
- element-ui MessageBox组件源码分析整理笔记(十二)
MessageBox组件源码,有添加部分注释 main.vue <template> <transition name="msgbox-fade"> < ...
- element-ui switch组件源码分析整理笔记(二)
源码如下: <template> <div class="el-switch" :class="{ 'is-disabled': switchDisab ...
随机推荐
- Spring Framework5.0 学习(4)—— 基本概念
1.0 控制反转(IOC)/依赖注入(DI) 通过依赖注入(DI),对象的依赖关系将由负责协调系统关系中各个对象的第三方组件在创建对象是设定.对象无需自行创建或管理它们的依赖关系——依赖关系将被自动 ...
- Nginx卸载重装问题
1.删除nginx,-purge包括配置文件 sudo apt-get --purge remove nginx 2.移除全部不使用的软件包 sudo apt-get autoremove 3 ...
- 调整home和根分区大小
目标:将VolGroup-lv_home缩小到100G,并将剩余的空间添加给VolGroup-lv_root ============================================= ...
- virtualbox 安装 mac os x lion 10.7实现全屏显示!
1. 启动Virtual Box虚拟机,在虚拟机里编辑 /Library/Preferences/SystemConfiguration/com.apple.Boot.plist,找到 <dic ...
- JavaScript小游戏--2048(移动端)
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- mysql使用Navicat 导出和导入数据库
系统环境: Win7 x64软件准备:Navicat Premium_11.2.7简体中文版下载网址:http://www.cr173.com/soft/419023.html 现在我就向大家介绍 m ...
- 关键字: simpledateformat24小时 格式串
SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出 Era 标志符 Text AD y 年 Year 1996; 96 M 年中的月份 M ...
- CssSelector之selenium元素定位
CssSelector是我最喜欢的元素定位方法,Selenium官网的Document里极力推荐使用CSS locator,而不是XPath来定位元素,原因是CSS locator比XPath loc ...
- 【Node.js】新建一个NodeJS 4.X项目
前提工作 1.安装Node.js 各种下一步就好 2.安装NPM(node package manager) 安装好Node.js之后,打开cmd,输入npm install npm -g,程序会自动 ...
- 关于content-type请求头的说明
Content-Type请求头的作用,用于标记请求体数据的格式,如: 1. Content-Type:application/x-www-form-urlencoded 请求体:b'pwd=123&a ...
- 阅读《RobHess的SIFT源码分析:综述》笔记