《JavaScript高级程序设计》学习笔记(1)——第三章 基本概念
2018-03-24 20:13
666 查看
语法
严格模式
严格模式是为JavaScript定义了一种不同的解析与执行模型。严格模式中,会对不确定的行为进行处理,对不安全行为抛出错误。
在顶部或在函数中添加
"use strict";即启用严格模式
支持严格模式的浏览器有IE10+、FIreFox 4+、Safari 5.1+、Opera 12+、Chrome
变量
省略var操作符,即给未声明的变量赋值会使变量成为全局变量,这种写法在严格模式下会导致抛出ReferenceError错误数据类型
typeof操作符
typeof是检测给定变量的数据类型的操作符其返回类型是字符串
undefined | 未定义 |
boolean | 布尔值 |
string | 字符串 |
number | 数值 |
object | 对象或null |
function | 函数 |
null和undefined
null值表示一个空对象指针null和undefined区别参考阮一峰的网络日志
只要在意在保存对象的变量还没有真正保存对象,就应该明确的让该变量保存null值
Boolean类型
各类数据对应Boolean的转换规则数据类型 | 转换为true的值 | 转换为false的值 |
---|---|---|
Boolean | true | false |
String | 任何非空字符串 | ""(空字符串) |
Number | 任何非零数字值(包括无穷大) | 0和NaN |
Object | 任何对象 | null |
Undefined | 不适用 | undefined |
Number类型
Number类型的八进制字面量在严格模式下无效,抛出错误浮点数值小数点后为0会默认转换为整数
var floatNum1 = 1.;//小数点后面没有数值,解析为1 var floatNum2 = 10.0;//整数,解析为10isNaN()参数可以是任何类型,函数确定是否“不是数值”。在接收到一个值之后,会尝试将这个值转换为数值
转型函数Number()可以用于任何数据类型,转换规则略
parseInt()解析八进制字面量字符串时,ECMAScript 3认为是八进制,ECMAScript 5认为是十进制
parseFloat()解析到末尾或第一个无效的小数点为止,即第一个小数点有效,第二个和之后都无效
String类型
字符串一旦创建,他们的值就不能改变操作符
位操作符按位非(NOT) | ~(本质:操作数负值减1) |
按位与(AND) | & |
按位或(OR) | | |
按位异或(XOR) | ^ |
左移 | << |
右移 | >>(向右移动,保留符号位) |
无符号右移 | >>>(数值所有32位都向右移动) |
for-in循环使用之前,先检测确认该对象不是null或undefined
label语句可以和break或continue语句联合使用
outermost: for(var i=0;i<10;i++){ if(i==5){ break outermost; } else{ continue outermost; } }
with语句的作用是将代码的作用域设置到一个特定对象中,为了简化多次编写同一个对象的工作
var qs = location.search.substring(1); with(location){ var qs = search.substring(1); }
switch语句在比较值时使用的是全等操作符,因此不会发生类型转换(例如,字符串“10”不等于数值10)
相关文章推荐
- 学习笔记(1)——基本概念&线性表
- 《JavaScript高级程序设计2》学习笔记——基本概念
- 【C】【笔记】《C和指针》 第一章 快速上手 第二章 基本概念 第三章 数据 第四章 语句 第五章 操作符和表达式
- 《学习GNU Emacs》学习笔记之一 —— Emacs的基本概念
- 第三章 java面向对象基本概念
- JavaScript 高级程序设计——第三章基本概念 学习笔记
- JavaScript高级程序设计第三章基本概念——总结
- 第三章 JS基本概念
- 《数字图像处理》学习笔记1--灰度变换基本概念
- 第三章 基本概念(第三部分:操作符)
- 读书笔记 JavaScript高级程序设计 第三章 基本概念-语法
- 《javascript DOM 编程艺术》学习笔记(一)——JS的发展与基本概念
- JS高级程序设计学习笔记之第三章基本概念(语法,数据类型,流控制语句,函数)——查漏补缺
- JavaScript高级程序设计 第三章 --- 基本概念
- 第三章 基本概念(下) --《Javascript高级程序设计》
- 《C和指针》学习笔记二/基本概念和数据/
- JavaScript高级程序设计第三章基本概念——函数
- javascript高级程序设计学习笔记——第三章 基本概念
- 第三章 基本概念(中) --《Javascript高级程序设计》
- 学习笔记——JAVA线程<1>线程的基本概念和实现